fireice-uk / xmr-stak

Free Monero RandomX Miner and unified CryptoNight miner
GNU General Public License v3.0
4.05k stars 1.79k forks source link

2.3.0 on CentOS loses half hash rate #1255

Closed Moreno-Borsalino closed 6 years ago

Moreno-Borsalino commented 6 years ago

I compiled 2.3.0 on CentOS with a VM with 4 CPU and 8 GB RAM. With the 2.2.0 I got about 284 h/s. With 2.3.0 I got about 130 h/s (with monero7). A big difference !

I used the same command to compile both versions :

sudo yum install centos-release-scl epel-release sudo yum install cmake3 devtoolset-4-gcc* hwloc-devel libmicrohttpd-devel openssl-devel make scl enable devtoolset-4 bash git clone https://github.com/fireice-uk/xmr-stak.git mkdir xmr-stak/build cd xmr-stak/build cmake3 .. -DCUDA_ENABLE=OFF -DOpenCL_ENABLE=OFF make install

The cpu.txt file is the same in both versions:

{ "low_power_mode" : true, "no_prefetch" : true, "affine_to_cpu" : 0 }, { "low_power_mode" : true, "no_prefetch" : true, "affine_to_cpu" : 1 }, { "low_power_mode" : true, "no_prefetch" : true, "affine_to_cpu" : 2 }, { "low_power_mode" : true, "no_prefetch" : true, "affine_to_cpu" : 3 },

Any idea about the big performance difference ? I lost more than half of hash rate !!

output of ./xmr-stak --version-long: Version: xmr-stak/2.3.0/a036cd8/master/lin/cpu/aeon-cryptonight-monero/0

output of cmake3 -LA:

-- Cache values CMAKE_AR:FILEPATH=/usr/bin/ar CMAKE_BUILD_TYPE:STRING=Release CMAKE_COLOR_MAKEFILE:BOOL=ON CMAKE_CXX_COMPILER:FILEPATH=/opt/rh/devtoolset-4/root/usr/bin/c++ CMAKE_CXX_FLAGS:STRING= CMAKE_CXX_FLAGS_DEBUG:STRING= CMAKE_CXX_FLAGS_MINSIZEREL:STRING= CMAKE_CXX_FLAGS_RELEASE:STRING= CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING= CMAKE_C_COMPILER:FILEPATH=/opt/rh/devtoolset-4/root/usr/bin/cc CMAKE_C_FLAGS:STRING= CMAKE_C_FLAGS_DEBUG:STRING= CMAKE_C_FLAGS_MINSIZEREL:STRING= CMAKE_C_FLAGS_RELEASE:STRING= CMAKE_C_FLAGS_RELWITHDEBINFO:STRING= CMAKE_EXE_LINKER_FLAGS:STRING= CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF CMAKE_INSTALL_PREFIX:PATH=/usr/local CMAKE_LINKER:FILEPATH=/usr/bin/ld CMAKE_LINK_STATIC:BOOL=OFF CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake CMAKE_MODULE_LINKER_FLAGS:STRING= CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= CMAKE_NM:FILEPATH=/usr/bin/nm CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib CMAKE_SHARED_LINKER_FLAGS:STRING= CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= CMAKE_SKIP_INSTALL_RPATH:BOOL=NO CMAKE_SKIP_RPATH:BOOL=NO CMAKE_STATIC_LINKER_FLAGS:STRING= CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= CMAKE_STRIP:FILEPATH=/usr/bin/strip CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE CPU_ENABLE:BOOL=ON CUDA_ENABLE:BOOL=OFF HWLOC:FILEPATH=/usr/lib64/libhwloc.so HWLOC_ENABLE:BOOL=ON HWLOC_INCLUDE_DIR:PATH=/usr/include MHTD:FILEPATH=/usr/lib64/libmicrohttpd.so MICROHTTPD_ENABLE:BOOL=ON MTHD_INCLUDE_DIR:PATH=/usr/include OPENSSL_CRYPTO_LIBRARY:FILEPATH=/usr/lib64/libcrypto.so OPENSSL_INCLUDE_DIR:PATH=/usr/include OPENSSL_SSL_LIBRARY:FILEPATH=/usr/lib64/libssl.so OpenCL_ENABLE:BOOL=OFF OpenSSL_ENABLE:BOOL=ON PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config XMR-STAK_COMPILE:STRING=native

psychocrypt commented 6 years ago

please also recompile 2.2. it could be that the compiler is updated.

Moreno-Borsalino commented 6 years ago

Done. Recompiled 2.2 but I get the same high hash rate as before: about 290 H/s

develop tools are : Package cmake3-3.6.1-3.el6.x86_64 already installed and latest version Package devtoolset-4-gcc-5.3.1-6.1.el6.x86_64 already installed and latest version Package devtoolset-4-gcc-c++-5.3.1-6.1.el6.x86_64 already installed and latest version Package devtoolset-4-gcc-plugin-devel-5.3.1-6.1.el6.x86_64 already installed and latest version Package devtoolset-4-gcc-gdb-plugin-5.3.1-6.1.el6.x86_64 already installed and latest version Package devtoolset-4-gcc-gfortran-5.3.1-6.1.el6.x86_64 already installed and latest version Package hwloc-devel-1.5-3.el6_5.x86_64 already installed and latest version Package libmicrohttpd-devel-0.9.33-4.el6.x86_64 already installed and latest version Package openssl-devel-1.0.1e-57.el6.x86_64 already installed and latest version Package 1:make-3.81-23.el6.x86_64 already installed and latest version

that's incredible to see so huge performance lost. I could imagine that a new version has a different behavior, but this is too much. Any other idea to investigate ?

psychocrypt commented 6 years ago

I think there is something else. we can not see a performance differents on our test systems

Moreno-Borsalino commented 6 years ago

I agree. But what do you think I have to check to find the problem ?

psychocrypt commented 6 years ago

please try to use the new miner and change the currency in pools.txt to cryptonight. Is the hashrate also low?

Moreno-Borsalino commented 6 years ago

changed to cryptonight but hashrate is also low.

McDevilbird commented 6 years ago

I have a simmilar issue. Im remote now on a cellphone so cant do much at the moment. I have 6 rx550 2gb. Doing about 2800 hs/s when i compile with 2.3 i get 2200h/s thats a significant loss. Before the 2.3 i was running two treads on each card with 435 intensity. When i compile now its set to 576 and i can only run one thread on each card. I have been able to install 2.4.1 via teamviewer and get the same results.

boinchain commented 6 years ago

Simmilar issue. Compiled on Centos 7 (minimal) with : cmake3 .. -DCPU_ENABLE=ON -DOpenCL_ENABLE=OFF -DCUDA_ENABLE=OFF. Same config between 2.2 and 2.3 (except pools part splitted into new file). Hardware : 64 procs, L3 cache 40960K, vmware. Hashrate goes from 1500h/s to 730h/s.

Before :

HASHRATE REPORT - CPU
| ID |    10s |    60s |    15m | ID |    10s |    60s |    15m |
|  0 |   41.8 |   41.8 |   (na) |  1 |   38.0 |   38.0 |   (na) |
...
| 36 |   36.9 |   40.4 |   (na) | 37 |   40.8 |   40.4 |   (na) |
-----------------------------------------------------
Totals:   1490.9 1493.8   (na) H/s
Highest:  1496.9 H/s

After :

HASHRATE REPORT - CPU
| ID |    10s |    60s |    15m | ID |    10s |    60s |    15m |
|  0 |   16.7 |   16.5 |   (na) |  1 |   20.9 |   20.9 |   (na) |
...
| 36 |   16.7 |   16.6 |   (na) | 37 |   19.9 |   20.3 |   (na) |
Totals (CPU):   734.6  734.3    0.0 H/s
-----------------------------------------------------------------
Totals (ALL):    734.6  734.3    0.0 H/s
Highest:   736.1 H/s

Try to recompile 1.2 : hashrate rise to 1500h/s.

McDevilbird commented 6 years ago

Im kinda new to this but what do you mean when you write try to recompile 1.2?

boinchain commented 6 years ago

I tried to recompiled 2.2 sorry, and hashrate rise back to 1500h/s..

McDevilbird commented 6 years ago

No worries. Did some more research. I get the files allready compiled by someone with vega cards. Turns out what i thougth was compiling isnt, i was just setting up the pool.txt and amd.txt. Will try to compile tonigth, the monero fork is tomorrow so i have some time.

m0len commented 6 years ago

how to recomplie 2.2?

LuvLetter commented 6 years ago

I am trying to use glibc 2.12 by compiling from CentOS 6. But the CryptonightV7 hash rate only reaches about 50% of latest openSUSE. And I use the scl to get gcc7, it might be the issue with scl.

m0len commented 6 years ago

Problem solved. Don't 'git clone', just download from the release and compile and do as it is. Hashrate went up.

LuvLetter commented 6 years ago

@hd999ljh I have to use the glibc 2.12 and the official build cannot work on the old OS.