Coder Social home page Coder Social logo

fireice-uk / xmr-stak Goto Github PK

View Code? Open in Web Editor NEW
4.0K 4.0K 1.8K 5.28 MB

Free Monero RandomX Miner and unified CryptoNight miner

License: GNU General Public License v3.0

CMake 1.29% Shell 0.33% C++ 70.38% C 14.92% Smarty 0.94% Cuda 3.35% Dockerfile 0.05% Assembly 8.75%

xmr-stak's People

Contributors

7022andre avatar amoiseev avatar b-i-t-n avatar blacklion avatar chaosmarc avatar cheran-senthil avatar dimecoin avatar dougvj avatar esfomeado avatar feugenea avatar fireice-uk avatar gnock avatar havenprotocol avatar jagerman avatar jleni avatar jquesnelle avatar juugcatm avatar lehmax avatar maurezen avatar miziel avatar murlakatamenka avatar o2genum avatar psychocrypt avatar ruzickap avatar ryo-ru avatar schernykh avatar seadude avatar spudz76 avatar steveswinsburg avatar vtamara avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xmr-stak's Issues

Move all config to one file

There is no point in having separate files for config. JSON values should be renamed and integrated as optional (kNullType) values.

cpu_threads_conf (no rename)
gpu_threads_conf -> amd_threads_conf
platform_index -> opencl_platform_index
gpu_threads_conf -> nvida_threads_conf

Autoconfig should build the config.txt by appending the relevant templates.

hwloc: memory pinned

I compiled the new 2.0 unified and get the message I am used to on the CPU only version, 'hwloc: memory pinned. But I also get 'MEMORY ALLOC FAILED: VirtualAlloc failed.' and my CPU mining is slow. Confused by getting both messages.

Any help would be much appreciated.

[2017-10-28 22:08:32] : Compiling code and initializing GPUs. This will take a while...
[2017-10-28 22:08:32] : Device 0 work size 8 / 256.
[2017-10-28 22:08:37] : Device 1 work size 8 / 256.
[2017-10-28 22:08:41] : Device 2 work size 8 / 256.
[2017-10-28 22:08:46] : Starting GPU thread, no affinity.
[2017-10-28 22:08:46] : MEMORY ALLOC FAILED: VirtualAlloc failed.
[2017-10-28 22:08:46] : MEMORY ALLOC FAILED: VirtualAlloc failed.
[2017-10-28 22:08:46] : Starting GPU thread, no affinity.
[2017-10-28 22:08:46] : Starting GPU thread, no affinity.
[2017-10-28 22:08:46] : MEMORY ALLOC FAILED: VirtualAlloc failed.
[2017-10-28 22:08:46] : Starting single thread, affinity: 0.
[2017-10-28 22:08:46] : Starting single thread, affinity: 2.
[2017-10-28 22:08:46] : Starting single thread, affinity: 4.
[2017-10-28 22:08:46] : Starting single thread, affinity: 6.
[2017-10-28 22:08:46] : hwloc: memory pinned
[2017-10-28 22:08:46] : hwloc: memory pinned
[2017-10-28 22:08:46] : MEMORY ALLOC FAILED: VirtualAlloc failed.
[2017-10-28 22:08:46] : Connecting to pool pool.supportxmr.com:7777 ...
[2017-10-28 22:08:46] : MEMORY ALLOC FAILED: VirtualAlloc failed.
[2017-10-28 22:08:46] : hwloc: memory pinned
[2017-10-28 22:08:46] : MEMORY ALLOC FAILED: VirtualAlloc failed.
[2017-10-28 22:08:46] : hwloc: memory pinned
[2017-10-28 22:08:46] : MEMORY ALLOC FAILED: VirtualAlloc failed.
[2017-10-28 22:08:46] : Connected. Logging in...
[2017-10-28 22:08:46] : Difficulty changed. Now: 25000.
[2017-10-28 22:08:46] : New block detected.

[FLAVOURS] Have a look at xmr-stak-cpu-mock

This is how I would see the current xmr-stak-cpu, xmr-stak-amd and xmr-stak-nvidia repositories.

This allows are a couple of critical things:

  • Hashrate stats are preserved as we can use ifdefs to have xmr-stak flavours version differently
  • Allows us to have different binary builds that don't need NVIDIA users to get AMD dlls (and vice versa)
  • Allows us to easily create GUI and non GUI versions

Flavours as I see them are:

List I (pick one or more):

  • CPU
  • AMD
  • NVIDIA

List II (pick one)

  • CLI
  • GUI

So eventually we will be able to add xmr-stak-cpu-gui simply as a another wrapper around xmr-stak and push the pre-built binaries there.

This is a fairly critical idea going forward so please confirm if you grok and agree.

check nicehash pool support

During the refactoring I have remove the nicehash pool support, I added it back with 1f40f88.

I have not tested if it runs without issues, therefore a runtime test is needed.

  • do test against the nicehash pool.

how to download from GIT

Hey people,

I see that fireice merged a new dev-version (#77). but I do not unterstand GIT. how can I download this new src-bundle?

Sorry, I am new at GIT.

wrong network error count

Network errors get counted twice after the first error.

After the first error each followed error is counted as two errors.
This is can be reproduced by disconnect the system from the network during the mining. After the first error is triggert plug the system in again and after the miner get a new job unplug the miner again. Than if the next share is found the miner is counting the error as two connection errors.

Autosuggest issues and fine tuning

Hi !

First, uber nice work on this all-in-one refactoring, thanks

I gave it a shot yesterday on debian sid + cuda 9.0 and hashrates seems more stable than 5 separate miners !

Machine A :

  • Intel(R) Core(TM) i3-7100T CPU @ 3.40GHz ( 2x30H/s, but expected, who cares :) )
  • rx580 4GB ( 770H/s )
  • gtx 1060 3GB ( 520/H/s )

Machine B (laptop):

  • Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz ( 3x60H/s, that's always nice )
  • gtx 950m 4GB ( 170H/s )

I had to adapt the autosuggest on the first machine for the 1060, first it gave :

  { "index" : 0,
    "threads" : 52, "blocks" : 27,
    "bfactor" : 0, "bsleep" :  0,
    "affine_to_cpu" : false,
  },

but this was giving ~10% rejected shares ( at 520/Hs ), dividing by 2

  { "index" : 0,
    "threads" : 26, "blocks" : 27,
    "bfactor" : 0, "bsleep" :  0,
    "affine_to_cpu" : false,
  },

made all the rejects go away and we're now at 100% accepted for 12h :)

Hope it helps !

[RFC] Extended mining statistics - accurate hashrates and rig types

With xmr-stak release proxies and pools will loose the ability to differentiate between cpu, amd and nvidia miners on the same machine. This can cause problems for user interfaces. As such we would like to implement extended statistics mode.

To signal its readiness to accept extended statistics the pool / proxy should add following field to the login reply

{"id" : 0, "jsonrpc" : "2.0", "error" : null, "result" : {"id" : "...", "job" :
 {"blob" : "...", "job_id" : "...", "target" : "..."}, "extensions" : ["backend", "hashcount", "algo", "motd"], "status" : "OK"}}
  • extensions is a JSON array type, specifying protocol extensions requested by the server.

If the server specifies motd extension, the miner will store a message of the day from the pool operator for display with the hashrate results, unless disabled in the config. Message of the day needs only to be sent once per miner connection, unless it changes.

The field needs to be hex-encoded and optionally added to the job dictionary (either in the login or job packet) as such:

{"blob" : "...", "job_id" : "...", "target" : "...", "motd" : "596F757220706F6F6C206E6565647320796F7521" }

When the miner submits a result, it will add following fields:

{"method" : "submit", "params" : {"id" : "...", "job_id" : "...", "nonce" : "...", "result" : "...", "backend" : "amd", "hashcount" : 15550, "algo" : "cryptonight" }, "id" : 1}
  • backend is a JSON string value, which can be "cpu", "amd" or "nvidia" depending on which backend generated the result

  • hashcount is a JSON integer value. This is the total number of hashes that the backend in question has done so far. Please note, this number always increases and is not reset on pool switches or disconnects. To calculate a fairly accurate hashrate estimate from pool code you can divide the difference of two hashcounts by the time between them.

  • algo is a JSON string specifying the algorithm used to generate the hash ( currently "cryptonight", "cryptonight-lite" ).

Same GPU, different hashrate

Hi,
I have a pc with dual GPU and dual CPU, the GPUs are the same, but they are performing very different.

Here the hashrate:

HASHRATE REPORT
| ID | 10s |  60s |  15m | ID | 10s |  60s |  15m |
|  0 | 287.7 | 282.8 | 282.8 |  1 | 393.2 | 393.5 | 393.6 |
|  2 | 38.5 | 38.6 | 38.6 |  3 | 33.8 | 33.8 | 33.8 |
|  4 | 41.2 | 41.2 | 41.2 |  5 | 41.8 | 41.8 | 41.8 |
|  6 | 45.1 | 45.1 | 45.1 |  7 | 41.0 | 41.0 | 41.0 |
|  8 | 34.3 | 34.4 | 34.3 |  9 | 38.9 | 39.0 | 38.9 |
| 10 | 33.9 | 33.9 | 33.9 | 11 | 35.6 | 35.6 | 35.6 |
| 12 | 44.6 | 44.6 | 44.6 | 13 | 41.3 | 41.3 | 41.3 |
| 14 | 44.8 | 44.8 | 44.8 | 15 | 41.1 | 41.0 | 41.0 |
| 16 | 38.9 | 38.9 | 38.9 | 17 | 34.3 | 34.2 | 34.2 |
-----------------------------------------------------

Here the nvidia.txt:

"gpu_threads_conf" :
[
  // gpu: Tesla K20c architecture: 35
  //      memory: 4669/4742 MiB
  { "index" : 0,
    "threads" : 26, "blocks" : 39,
    "bfactor" : 0, "bsleep" :  0,
    "affine_to_cpu" : true,
  },
  // gpu: Tesla K20c architecture: 35
  //      memory: 4669/4742 MiB
  { "index" : 2,
    "threads" : 26, "blocks" : 39,
    "bfactor" : 0, "bsleep" :  0,
    "affine_to_cpu" : true,
  },

],

Here the nvidia-smi output:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.81                 Driver Version: 384.81                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro K600         Off  | 00000000:03:00.0  On |                  N/A |
| 27%   55C    P8    N/A /  N/A |     49MiB /   978MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla K20c          Off  | 00000000:04:00.0 Off |                    0 |
| 45%   58C    P0   107W / 225W |   2104MiB /  4742MiB |    100%      Default |
+-------------------------------+----------------------+----------------------+
|   2  Tesla K20c          Off  | 00000000:81:00.0 Off |                    0 |
| 62%   66C    P0   115W / 225W |   2104MiB /  4742MiB |    100%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1800      G   /usr/bin/X                                    37MiB |
|    1      8254      C   ./xmr-stak                                  2093MiB |
|    2      8254      C   ./xmr-stak                                  2093MiB |
+-----------------------------------------------------------------------------+

Can you explain why?

Thanks

GPU ERROR issue [possibly CUDA 7.5]

This text is copied out of #28 (review)

The compile still fails, but we are making progress. I googled for a fix and adding add_definitions(-D_MWAITXINTRIN_H_INCLUDED) seems to fix the problem.

/usr/lib/gcc/x86_64-linux-gnu/5/include/mwaitxintrin.h(36): error: identifier "__builtin_ia32_monitorx" is undefined

/usr/lib/gcc/x86_64-linux-gnu/5/include/mwaitxintrin.h(42): error: identifier "__builtin_ia32_mwaitx" is undefined

2 errors detected in the compilation of "/tmp/tmpxft_00007a1d_00000000-22_cuda_extra.compute_20.cpp1.ii".
CMake Error at xmrstak_cuda_backend_generated_cuda_extra.cu.o.cmake:266 (message):
  Error generating file
  /home/fireice/github/xmr-stak/build/CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/./xmrstak_cuda_backend_generated_cuda_extra.cu.o

Can you make sure if that flag needs to be targeted at GCC or not.


added by psychocrypt: This error will only occur if the unsupported compiler gcc 5.X is enabled by manually editing of the file host_config.h

active self test

All old miner versions contains a self test of the cpu miner. The code is currently not called and returned always true.

Todo

  • Activate and test the self test functionality.

[OSX] Can't finish to build xmr-stak due to Apple Clang Linker

Hi,

Thank your for developing this great xmr miner!
After successful build on Linux, I would like to build on my MacBook Pro Retina 2012 (with Nvidia inside).
My laptop begins to be to old to support CUDA 9, so I use the latest CUDA 8 with Xcode 8.2

sudo xcode-select -s /Applications/Xcode82.app/Contents/Developer/

cc --version
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin17.0.0
Thread model: posix
InstalledDir: /Applications/Xcode82.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

I choose to use the cmake options in the .travis.yml for Mac :
cmake -DMICROHTTPD_ENABLE=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DOpenCL_ENABLE=OFF .. in xmr-stak/build folder.
No issue when configuring the build with cmake, then after make clean and make, I've got this issue:

Scanning dependencies of target xmr-stak-c
[  3%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_blake256.c.o
[  7%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_groestl.c.o
[ 11%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_jh.c.o
[ 14%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_keccak.c.o
[ 18%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_skein.c.o
[ 22%] Linking C static library bin/libxmr-stak-c.a
[ 22%] Built target xmr-stak-c
Scanning dependencies of target xmr-stak-backend
[ 25%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/jconf.cpp.o
[ 29%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/cpu/jconf.cpp.o
[ 33%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/cpu/minethd.cpp.o
[ 37%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/backendConnector.cpp.o
[ 40%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/globalStates.cpp.o
[ 44%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/cpu/crypto/cryptonight_common.cpp.o
[ 48%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/http/httpd.cpp.o
[ 51%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/http/webdesign.cpp.o
[ 55%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/console.cpp.o
[ 59%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/executor.cpp.o
[ 62%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/telemetry.cpp.o
[ 66%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/net/jpsock.cpp.o
[ 70%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/net/socket.cpp.o
[ 74%] Linking CXX static library bin/libxmr-stak-backend.a
/Applications/Xcode82.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bin/libxmr-stak-backend.a(httpd.cpp.o) has no symbols
/Applications/Xcode82.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bin/libxmr-stak-backend.a(httpd.cpp.o) has no symbols
[ 74%] Built target xmr-stak-backend
Scanning dependencies of target xmr-stak
[ 77%] Building CXX object CMakeFiles/xmr-stak.dir/xmrstak/cli/cli-miner.cpp.o
[ 81%] Linking CXX executable bin/xmr-stak
[ 81%] Built target xmr-stak
[ 85%] Building NVCC (Device) object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_extra.cu.o
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
[ 88%] Building NVCC (Device) object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_core.cu.o
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
Scanning dependencies of target xmrstak_cuda_backend
[ 92%] Building CXX object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/jconf.cpp.o
[ 96%] Building CXX object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/minethd.cpp.o
[100%] Linking CXX shared library bin/libxmrstak_cuda_backend.dylib
Undefined symbols for architecture x86_64:
  "win_exit()", referenced from:
      xmrstak::nvidia::minethd::thread_starter(unsigned int, xmrstak::miner_work&) in minethd.cpp.o
  "jconf::jconf()", referenced from:
      xmrstak::nvidia::minethd::work_main() in minethd.cpp.o
      xmrstak::nvidia::minethd::self_test() in minethd.cpp.o
  "printer::print_msg(verbosity, char const*, ...)", referenced from:
      xmrstak::nvidia::jconf::parse_config(char const*) in jconf.cpp.o
      xmrstak::nvidia::minethd::work_main() in minethd.cpp.o
      xmrstak::nvidia::minethd::thread_starter(unsigned int, xmrstak::miner_work&) in minethd.cpp.o
      xmrstak::nvidia::autoAdjust::printConfig() in minethd.cpp.o
      xmrstak::nvidia::autoAdjust::generateThreadConfig() in minethd.cpp.o
  "printer::printer()", referenced from:
      xmrstak::nvidia::jconf::parse_config(char const*) in jconf.cpp.o
      xmrstak::nvidia::minethd::thread_starter(unsigned int, xmrstak::miner_work&) in minethd.cpp.o
      xmrstak::nvidia::autoAdjust::printConfig() in minethd.cpp.o
      printer::inst() in minethd.cpp.o
      xmrstak::nvidia::autoAdjust::generateThreadConfig() in minethd.cpp.o
  "xmrstak::cpu::minethd::func_selector(bool, bool)", referenced from:
      xmrstak::nvidia::minethd::work_main() in minethd.cpp.o
  "xmrstak::cpu::minethd::thd_setaffinity(_opaque_pthread_t*, unsigned long long)", referenced from:
      xmrstak::nvidia::minethd::thread_starter(unsigned int, xmrstak::miner_work&) in minethd.cpp.o
  "xmrstak::cpu::minethd::minethd_alloc_ctx()", referenced from:
      xmrstak::nvidia::minethd::work_main() in minethd.cpp.o
  "executor::log_result_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)", referenced from:
      xmrstak::nvidia::minethd::work_main() in minethd.cpp.o
  "executor::executor()", referenced from:
      xmrstak::nvidia::minethd::work_main() in minethd.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [bin/libxmrstak_cuda_backend.dylib] Error 1
make[1]: *** [CMakeFiles/xmrstak_cuda_backend.dir/all] Error 2
make: *** [all] Error 2

I don't know how to resolve this issue ...

Thanks in advance for your help! 👍

Windows 10 with CUDA 9 compile errors

I tried to compile on Windows 10 with Visual Studio 2017 and Cuda 9.0, and i am getting the following error:

Building NVCC (Device) object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/Release/xmrstak_cu da_backend_generated_cuda_core.cu.obj CMake Error at xmrstak_cuda_backend_generated_cuda_core.cu.obj.Release.cmake:219 (message): Error generating C:/Users/Antreas/xmr-stak/CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/Release/xmrstak_cuda _backend_generated_cuda_core.cu.obj

The full logs running the CMake generation and compiling is in the attached file.
log.txt

Fix CMake optimisation flags

At some point GCC optimisation flags got removed. Can you fix that?

For the release build the proper settings should be:

-O3 and NDEBUG defined

for the debug build

-O0 and -g

affinity randomly wrong

I tested the thread pinning under linux. Something went sometimes wrong.
Normally I use thread 0 and 1 on my laptop. To get a higher chance to trigger the bug I configuread it to 0, 3.
Than I started the miner and looked to htop. In 20 -50% the second thread is going to core 1 instead of core 3.

It looks like a race condition somewhere.

I checked if hwloc is a problem but also without hwloc I get this behavior.
I also tried to pin the thread with hwloc but with the same result.

WIN_UAC

Compiling with options:
cmake -G "Visual Studio 15 2017 Win64" -T v140,host=x64 -DXMR-STAK_CURRENCY=monero -DMICROHTTPD_ENABLE=OFF -WIN_UAC=OFF ..
But binary still triggers UAC.

potential race condition

One of my test produced a race condition. The nvidia config was written to cpu.txt instead to nvidia.txt
I used #55 rebased to the dev 6701b0c.

I can't reproduce it (but this is the nature of a race condition), it could be that #44 is introducing this race condition.

I will investigate some time to this soon.

[2017-10-17 21:46:14] : NVIDIA: GPU configuration stored in file 'cpu.txt'
[2017-10-17 21:46:14] : Starting GPU thread, no affinity.
[2017-10-17 21:46:14] : Starting GPU thread, no affinity.
...
[2017-10-17 21:46:14] : MEMORY ALLOC FAILED: mmap failed
[2017-10-17 21:46:15] : WARNING: No AMD OpenCL platform found. Possible driver issues or wrong vendor driver.
[2017-10-17 21:46:15] : WARNING: backend AMD disabled.
[2017-10-17 21:46:15] : Invalid config file. Missing value "cpu_threads_conf".
[CUDA] Error gpu [CUDA] Error gpu 2: </xmr-stak-nvidia/xmrstak/backend/nvidia/nvcc_code/cuda_extra.cu>:1920: </xmr-stak-nvidia/xmrstak/backend/nvidia/nvcc_code/cuda_extra.cu>:192[CUDA] Error gpu 4: <xmr-stak-nvidia/xmrstak/backend/nvidia/nvcc_code/cuda_extra.cu>:192

cc-ing: @fireice-uk

CL_DEVICE_NOT_FOUND Firepro V5800

First of all you guys are doing an awesome job, making possible for all of us to mine with different platforms.
I'm getting the following message:
Compiling code and initializing GPUs. This will take a while...
Error CL_DEVICE_NOT_FOUND when calling clGetDeviceIDs for number of devices.
WARNING: AMD device not found

System: 2 x XEON L5630 12MB L3 24GB RAM HP server DL380 G6 Firepro V5800 installed as add on card with motherboard integrated graphics disabled on BIOS with OpenSUSE LEAP 42.1 running on metal.

I'm using FGLRX drivers since I couldn't install the AMDPRO in any opensuse version (42.1 is not compatible) and (42.2/ 42.3 the system freezes after install. First the Xorg and a few seconds after the entire system).
libOpenCL1 2.2.11-2.1 (from opensuse)
opencl-headers 2.2+git.20170617-1.2 (from opensuse)
fglrx64 15.302.3-1 (http://geeko.ioda.net/mirror/amd-fglrx/openSUSE_Leap_42.1/)
xmr-stak compiled with GCC 5.3.1, cmake 3.3.2-1.2 both from SUSE repo's

lspci -nnk | grep -A3 VGA report:
10:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Juniper XT [FirePro V5800] [1002:68a9]
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:2303]
Kernel driver in use: fglrx_pci
Kernel modules: radeon, fglrx

clinfo report attached:
clinfo-report.txt

During the compiling process I can see:
-- Looking for CL_VERSION_2_0
-- Looking for CL_VERSION_2_0 - found
-- Found OpenCL: /usr/lib64/libOpenCL.so (found version "2.0")

The thing is: I installed the opensuse normally and after I did the installation of libOpenCL1 and opencl-headers. Then I installed the fglrx driver that seems to overwrite the libOpenCL1, and maybe this is promoting the error.
If I remove the libOpenCL1 and headers and install only the fglrx drivers, the xmr-stak cannot compile because it needs the CL/cl.h file included in the package libOpenCL1 from opensuse....since I know, fglrx doesn't install CL/cl.h or am I missing something ?

PS: this is happing with xmr-stak-amd too !

Any ideas ?
Thanks a lot !!!

Create a sane pre-built binary for Linux systems

For xmr-stak release I would like to have a pre-built Linux binary. @psychocrypt can you look into this one? I'm fairly busy with multipool and protocol extentions.

Suggested option: AppImage

  • NOTE: VM-based systems (snap and flatpak) are out since they are likely to compromise performance.

CryptoNight-Lite support?

Is there a plan to add CryptoNight-Lite support in this miner so it can be used for AEON mining?

Another useful feature for CryptoNight-Lite will be quad thread support (4 hashes per thread) in low power mode (but also keep double thread mode for maximum flexibility).

Card #12 having very low hashrate on 12GPU Rig

Hi, having issue on card #12 when using 12 GPU rig.

HASHRATE REPORT
| ID | 10s | 60s | 15m | ID | 10s | 60s | 15m |
| 0 | 412.6 | 412.1 | 412.3 | 1 | 412.8 | 412.8 | 412.7 |
| 2 | 413.1 | 413.1 | 413.0 | 3 | 412.8 | 412.8 | 412.6 |
| 4 | 412.8 | 412.8 | 412.6 | 5 | 412.5 | 412.6 | 412.5 |
| 6 | 412.8 | 412.8 | 412.2 | 7 | 413.2 | 413.2 | 412.5 |
| 8 | 412.9 | 412.8 | 412.5 | 9 | 412.9 | 412.9 | 412.7 |
| 10 | 417.6 | 417.6 | 417.5 | 11 | 417.4 | 416.5 | 417.3 |
| 12 | 57.3 | 57.1 | 57.1 |

Totals: 5020.6 5018.8 5017.6 H/s
Highest: 5021.7 H/s

Using Ubuntu 16.04 with current release xmr-stak. Have no issues on xmr-stak-amd current release.

uname -a Linux mm-miner01 4.4.0-96-generic #119-Ubuntu SMP Tue Sep 12 14:59:54 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Thanks

UAC handle side effect when create new process

When xmr-stak prompt UAC dialog to ask you, if you select yes, new process will be created and it will ignore all command line parameter.

Beside that, UAC handle is very annoying with who having correct setting about large page (you can even use large page when answer no), it's should have a switch or config option to enable or disable it. If it cannot turn on/off by switch/option please leave it as xmr-stak-cpu

cpu auto suggestion

The CPU backend is loaded as last backend. Each backend is provided with a thread offset (number of threads from other backends started before the backend).
If the thread offset is not zero than we have GPUs in the system, in this case the CPU auto suggestion should prefer low power mode over hyper threads to keep cores free to handle the gpus.

Large Page is not working

The large page currently not working, it always show "MEMORY ALLOC FAILED: VirtualAlloc falled.", the older version work fine.

Normally with old version I can get about 90H/s each double thread (lower_power_mode = true - 2 x CPU E5-2670v2),
image

but for universal version it only get about 50H/s, and it's say: MEMORY ALLOC FAILED: VirtualAlloc falled.
image

libxmrstak_cuda_backend.so: undefined symbol

Heyho,
before I mined Monero with xmr-stak-cpu and xmr-stak-nvidia. Now i tried xmr-stak. The compiling went like a charm (except i have not the AMD sources whats OK because I only use NVIDIA)

System: i5-4 Gen. (4 Core no HT) with 4x GTX 1060 3GB

Then I start the software and this happends:

Please enter:
- currency: 'monero' or 'aeon'
monero
- pool address: e.g. pool.usxmrpool.com:3333
pool.supportxmr.com:5555
- user name (wallet address or pool login):
[...]BMYCBFbLU52L[...] # shorten
- password (mostly empty or x):
mpm01:<my email>
Configuration stored in file 'config.txt'
-------------------------------------------------------------------
xmr-stak 2.0.0-predev mining software.
Based on CPU mining code by wolf9466 (heavily optimized by fireice_uk).
NVIDIA mining code was written by KlausT and psychocrypt.
Brought to you by fireice_uk and psychocrypt under GPLv3.

Configurable dev donation level is set to 1.0 %

You can use following keys to display reports:
'h' - hashrate
'r' - results
'c' - connection
-------------------------------------------------------------------
[2017-10-29 01:01:17] : Start mining: MONERO
[2017-10-29 01:01:17] : NVIDIA: GPU configuration stored in file 'nvidia.txt'
[2017-10-29 01:01:17] : Starting NVIDIA GPU thread 0, no affinity.
[2017-10-29 01:01:17] : Starting NVIDIA GPU thread 1, no affinity.
[2017-10-29 01:01:17] : Starting NVIDIA GPU thread 2, no affinity.
[2017-10-29 01:01:17] : Starting NVIDIA GPU thread 3, no affinity.
[2017-10-29 01:01:17] : CPU configuration stored in file 'cpu.txt'
[2017-10-29 01:01:17] : Starting single thread, affinity: 0.
[2017-10-29 01:01:17] : hwloc: memory pinned
[2017-10-29 01:01:17] : Starting single thread, affinity: 1.
[2017-10-29 01:01:17] : hwloc: memory pinned
[2017-10-29 01:01:17] : Starting single thread, affinity: 2.
[2017-10-29 01:01:17] : hwloc: memory pinned
[2017-10-29 01:01:17] : Connecting to pool pool.supportxmr.com:5555 ...
[2017-10-29 01:01:17] : Connected. Logging in...
[2017-10-29 01:01:17] : Difficulty changed. Now: 5000.
[2017-10-29 01:01:17] : Pool switched.
./xmr-stak: symbol lookup error: ./libxmrstak_cuda_backend.so: undefined symbol: _Z25cryptonight_core_cpu_hashILm524288ELm2097136ELj19EEvP8nvid_ctx
root@mpm01:/work/Monero/xmr-stak#

Annd.. Will the other projects be continued, or is this the leading project?

Autoconfiguration for GPU way off

Hey,
I compiled the xmr-stak version for windows and tested it.

My mainworkingstation (Testsystem):
Windows 10 Pro 64 Bit
Intel i7-4790K 4Ghz [email protected] Ghz
Nvidia Geforce GTX 980 4GB

configs (generated automaticly):

"cpu_threads_conf" :
[
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 0 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 2 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 4 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 6 },

],
"gpu_threads_conf" :
[
  // gpu: GeForce GTX 980 architecture: 52
  //      memory: 3376/4096 MiB
  { "index" : 0,
    "threads" : 20, "blocks" : 48,
    "bfactor" : 6, "bsleep" :  25,
    "affine_to_cpu" : false,
  },

],

First run crashed directly:
grafik

I changed nvidia config like this:
bfactor: 8
bsleep: 100

result: program runs but the System was very laggy.

I changed nvidia config again like this:
bfactor: 12
bsleep: 100

result: program runs and system is only a little bit laggy (an vlc-video runs after 2 sec smootly)

after 15 minutes:

HASHRATE REPORT
| ID | 10s |  60s |  15m | ID | 10s |  60s |  15m |
|  0 | (na) | 84.3 | 84.8 |  1 | 31.1 | 31.5 | 32.9 |
|  2 | 38.9 | 37.2 | 37.9 |  3 | 38.2 | 36.3 | 36.1 |
|  4 | 21.8 | 22.0 | 22.9 |
-----------------------------------------------------
Totals:   (na) 211.2 214.5 H/s
Highest:  0.0 H/s

So i tweaked the config a little bit:

"cpu_threads_conf" : 
[ 
     { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 2 },
     { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 3 },
     { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 4 },
     { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 5 },
     { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 6 },
     { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 7 },
],

// 2,4,6 are real cores
// 3,5,7 are HT cores

 "gpu_threads_conf" : 
 [
     { "index" : 0, "threads" : 32, "blocks" : 16, "bfactor" : 12, "bsleep" : 5, "affine_to_cpu" : true},
 ],

result:

HASHRATE REPORT
| ID | 10s |  60s |  15m | ID | 10s |  60s |  15m |
|  0 | 467.4 | 461.6 | 459.6 |  1 | 20.4 | 19.4 | 19.1 |
|  2 | 25.2 | 25.2 | 25.8 |  3 | 12.5 | 15.2 | 13.9 |
|  4 | 23.1 | 22.4 | 23.0 |  5 | 16.3 | 16.3 | 17.1 |
|  6 | 33.5 | 30.3 | 31.3 |
-----------------------------------------------------
Totals:   598.3 590.4 589.7 H/s
Highest:  642.1 H/s

here is how i find the best values of my cards:
xmr-stat-gpu values.xlsx

Conclusion:

  • HT cores are not effective (4 cores --> 129,8 H/s 3 cores + 3 HT --> 130,2 H/s)
    --> the automatic values for CPU seems okay.
  • the automatically determined values for GPU lead to a crash
  • even for-crash corrected values are scrap (84 H/s)
  • better test your GPU by hand. Tool for GPU-MEM-check https://www.techpowerup.com/gpuz/

backup pools

It would be usefull to allow that a list of pools with there login data (username, pool passwd, address) can be configured.
A json array like for cpu_thread_conf would be the best.

If we add a value to each pool entry that can be set by the user for each pool and a additional flag ( a new variable those is not part of the pool array) what the value means we can allow two cases:

  • fail over: This means the value defines a priority which pool is prioritized (higher is used first)
  • weighted pool logins: This means the values from all pools is aggregated and than normalized to 100min - dev pool time. Each pool is than used for mining depending of the time slice within e.g. 98min. This allows for example the user to provide other developer (e.g. monero devs) with a donation, or the user likes to split the hash power to different pools)
/* This defines in which order the pools are use:
 * "failover" - means the value defines the priority of the pool (higher is used first),
 *               if the connection get lost the pool is switched to the next 
 *               (after X min the miner tries to fall back to the original pool)
 * "weighted" - all pool values will be accumulated and the hash rate 
 *                is given to all pools (within 100 minutes) depending on the weight
 */
"pool_order" : "weighted",
"pool_list" :
[
    // if the dev donation is 2%, this pool is used 42 minute
    { "pool_address" : "pool1", "wallet_address" : "myXMRAddress",
      "pool_password" : "x", "value" : 60 },
    // this pool is used 56 minutes
    { "pool_address" : "pool2", "wallet_address" : "myXMRAddress",
      "pool_password" : "", "value" : 80 },
],

remove early returns

Like in PR #24 early returns within a kernel are not defined for CUDA. To avoid side effects with other compiler e.g. Clang all early return should be removed.
This will not increase the runtime!

Dry (no gpu) build fails on my laptop

CMake output doesn't seem to mention CUDA:

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.0.2g") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/fireice/github/xmr-stak/build

Build then fails with:

nvcc fatal   : Unsupported gpu architecture 'compute_60'
CMake Error at xmrstak_cuda_backend_generated_cuda_core.cu.o.cmake:207 (message):
  Error generating
  /home/fireice/github/xmr-stak/build/CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/./xmrstak_cuda_backend_generated_cuda_core.cu.o


CMakeFiles/xmrstak_cuda_backend.dir/build.make:70: recipe for target 'CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_core.cu.o' failed
make[2]: *** [CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_core.cu.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/xmrstak_cuda_backend.dir/all' failed
make[1]: *** [CMakeFiles/xmrstak_cuda_backend.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

CMake output from xmr-stak-nvidia:

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found CUDA: /usr (found suitable version "7.5", minimum required is "7.5") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.0.2g") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/fireice/github/xmr-stak-nvidia/build

OpenCL 2.0 not found when CUDA is installed

When I have only AMD SDK installed and disabled NVIDIA backend or compile XMR-STAK-AMD it has no problem detect OpenCL 2.0, but with CUDA 9 installed it only find 1.2 version.

-- Looking for CL_VERSION_2_0
-- Looking for CL_VERSION_2_0 - not found
-- Looking for CL_VERSION_1_2
-- Looking for CL_VERSION_1_2 - found
-- Found OpenCL: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/lib/x64/OpenCL.lib (found version "1.2")
-- Found CUDA: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0 (found suitable version "9.0", minimum required is "7.5")

Cpu autoconfiguration

Hi,
you wrote in the cpu.txt that on hyperthreading systems it is better to assign threads to physical cores, but I have a dual XEON wiht 10 physical cores each for a total of 40 logical cores and the autoconfiguratior gave me this:

"cpu_threads_conf" :
[
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 0 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 1 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 2 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 3 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 4 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 5 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 6 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 7 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 8 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 9 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 20 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 21 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 22 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 10 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 11 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 12 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 13 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 14 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 15 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 16 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 17 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 18 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 19 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 30 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 31 },
    { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 32 },

],

So the miner is using 26 logical cores, 20 physical cores + 6 HTT cores.

Can you explain me this discrepancy?

I think the HTT core IDs are: 20,21,22,30,31,32, am I right?
So I can test which configuration is better.
This is my hwloc-ls:

Machine (128GB)
  NUMANode L#0 (P#0 64GB)
    Socket L#0 + L3 L#0 (25MB)
      L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0
        PU L#0 (P#0)
        PU L#1 (P#20)
      L2 L#1 (256KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1
        PU L#2 (P#1)
        PU L#3 (P#21)
      L2 L#2 (256KB) + L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2
        PU L#4 (P#2)
        PU L#5 (P#22)
      L2 L#3 (256KB) + L1d L#3 (32KB) + L1i L#3 (32KB) + Core L#3
        PU L#6 (P#3)
        PU L#7 (P#23)
      L2 L#4 (256KB) + L1d L#4 (32KB) + L1i L#4 (32KB) + Core L#4
        PU L#8 (P#4)
        PU L#9 (P#24)
      L2 L#5 (256KB) + L1d L#5 (32KB) + L1i L#5 (32KB) + Core L#5
        PU L#10 (P#5)
        PU L#11 (P#25)
      L2 L#6 (256KB) + L1d L#6 (32KB) + L1i L#6 (32KB) + Core L#6
        PU L#12 (P#6)
        PU L#13 (P#26)
      L2 L#7 (256KB) + L1d L#7 (32KB) + L1i L#7 (32KB) + Core L#7
        PU L#14 (P#7)
        PU L#15 (P#27)
      L2 L#8 (256KB) + L1d L#8 (32KB) + L1i L#8 (32KB) + Core L#8
        PU L#16 (P#8)
        PU L#17 (P#28)
      L2 L#9 (256KB) + L1d L#9 (32KB) + L1i L#9 (32KB) + Core L#9
        PU L#18 (P#9)
        PU L#19 (P#29)
  NUMANode L#1 (P#1 64GB)
    Socket L#1 + L3 L#1 (25MB)
      L2 L#10 (256KB) + L1d L#10 (32KB) + L1i L#10 (32KB) + Core L#10
        PU L#20 (P#10)
        PU L#21 (P#30)
      L2 L#11 (256KB) + L1d L#11 (32KB) + L1i L#11 (32KB) + Core L#11
        PU L#22 (P#11)
        PU L#23 (P#31)
      L2 L#12 (256KB) + L1d L#12 (32KB) + L1i L#12 (32KB) + Core L#12
        PU L#24 (P#12)
        PU L#25 (P#32)
      L2 L#13 (256KB) + L1d L#13 (32KB) + L1i L#13 (32KB) + Core L#13
        PU L#26 (P#13)
        PU L#27 (P#33)
      L2 L#14 (256KB) + L1d L#14 (32KB) + L1i L#14 (32KB) + Core L#14
        PU L#28 (P#14)
        PU L#29 (P#34)
      L2 L#15 (256KB) + L1d L#15 (32KB) + L1i L#15 (32KB) + Core L#15
        PU L#30 (P#15)
        PU L#31 (P#35)
      L2 L#16 (256KB) + L1d L#16 (32KB) + L1i L#16 (32KB) + Core L#16
        PU L#32 (P#16)
        PU L#33 (P#36)
      L2 L#17 (256KB) + L1d L#17 (32KB) + L1i L#17 (32KB) + Core L#17
        PU L#34 (P#17)
        PU L#35 (P#37)
      L2 L#18 (256KB) + L1d L#18 (32KB) + L1i L#18 (32KB) + Core L#18
        PU L#36 (P#18)
        PU L#37 (P#38)
      L2 L#19 (256KB) + L1d L#19 (32KB) + L1i L#19 (32KB) + Core L#19
        PU L#38 (P#19)
        PU L#39 (P#39)

Nonce Final Test Results (See attachment)

Pardon if formatting is messy. I've never used GitHub. All this data is in the attachment,
Hit me up on SupportXMR Chatango with questions or requests.
##########################################
GPU0: EVGA GeForce GTX 980 SC GAMING ACX 2.0
Spec Sheet: https://www.evga.com/Products/Specs/GPU.aspx?pn=472A80BC-9A78-45B1-8560-6FA1916330E8
Overclocked to GPU Freq: 1457MHz, MEM Freq: 4001
My config (Yields about 570H/s):
"gpu_threads_conf" :
[
// gpu: GeForce GTX 980 architecture: 52
// memory: 3376/4096 MiB
{ "index" : 0,
"threads" : 32, "blocks" : 16,
"bfactor" : 8, "bsleep" : 25,
"affine_to_cpu" : false,
},
],

Default Config (Crashes miner software):
"gpu_threads_conf" :
[
// gpu: GeForce GTX 980 architecture: 52
// memory: 3376/4096 MiB
{ "index" : 0,
"threads" : 20, "blocks" : 48,
"bfactor" : 6, "bsleep" : 25,
"affine_to_cpu" : false,
},
],

##########################################

GPU1: SAPPHIRE Radeon™ RX Vega64 8G HBM2
Manufacturers Site: http://www.sapphiretech.com/productdetial.asp?pid=AE163547-6889-4073-BBF6-9DB2C45BB233&lang=eng
If stock clocks are used then best result is with Thread1: "intensity" : 1920, "worksize" : 8, Thread2: "intensity" : 1920, "worksize" : 8 yields about 1950H/s
Underclocked GPU/Overclocked Memeory GPU Freq: 1270MHz, MEM Freq: 1100MHz

My Config (Yields about 1890H/s):
"gpu_threads_conf" : [
// gpu: gfx901 memory:3984
// compute units: 64
{ "index" : 0,
"intensity" : 2016, "worksize" : 8,
"affine_to_cpu" : false,
},
{ "index" : 0,
"intensity" : 1800, "worksize" : 8,
"affine_to_cpu" : false,
},
],

Default configuration (Untested):
"gpu_threads_conf" : [
// gpu: gfx901 memory:3984
// compute units: 64
{ "index" : 0,
"intensity" : 512, "worksize" : 8,
"affine_to_cpu" : false,
},
],
#########################################

CPU: Intel® Core™ i7-5820K Processor
Spec Sheet: https://ark.intel.com/products/82932/Intel-Core-i7-5820K-Processor-15M-Cache-up-to-3_60-GHz
Overclocked CPU Freq: 4.3GHz, Cache Multiplier: 40
RAM: 32GB DDR4
My Config (Yields about 430H/s):
"cpu_threads_conf" :
[
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 0 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 2 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 4 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 6 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 8 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 10 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 1 },
],

Default Config (Untested):
"cpu_threads_conf" :
[
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 0 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 2 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 4 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 6 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 8 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 10 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 1 },
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 3 },
],
#########################################

xmr-stak-nonce-final.zip

split hash report into backends

Currently the hash report shows all backends within a table. By adding a type to each backend (in iBackend.hpp) we can split the table into a overview per backend.

Your wallet address ;-)

You have the following text in "Usage.md" but it's the last line in the file and you forgot to actually add your wallet :-)

"If you want to donate directly to support further development, here is my wallet"

Add a line group by thread_id in http report ?

Not really an issue, but a request asking you if it would be possible to add a sum of the hashrate by thread_id in the html report please ?
I tried to do it but I couldn't find how/where I have to calculate the sum to print it in webdesign.

Rethink nonce allocation

We have a large mix of workers now with capabilities ranging in two orders of magnitude from 10H/s to 1000H/s

If we are going to support nicehash then we are working in a very restricted space - we have 16.7 million nonces to split.

Moreover if we stop, and then resume at a pool without dropping connection we need to include that in the nonce budget, otherwise we will get collisions.

The maths just doesn't add up, 8 workers at 2500H/s and 1 resume is 3.6 million hashes. There is no way to that we can fit 64 cpu workers without making the nonce calculation differentiate between cpu and gpu workers

10s Statistic for GPU threads random show/hide

As you see in the picture:
image

Statistic for gpu threads is randomly show/hide for each threads, it's will change with each refresh (this threads hide, other threads show).

Beside that, when having gpu, total hashrate of 10s is always hide. Highest hastrate alway 0.

On CLI only having zero highest hashrate problem.

It doesn't work anymore on linux

Hi,
yesterday I cloned and compiled the miner on linux and it went all good.
Today, on a different but identical pc, I have cloned and compiled the miner and it doesn't work, I made a lot of tries, the only way to make it works was to use the source code cloned yesterday.

The only thing I get is this:

-------------------------------------------------------------------
xmr-stak 2.0.0-predev mining software.
Based on CPU mining code by wolf9466 (heavily optimized by fireice_uk).
Brought to you by fireice_uk and psychocrypt under GPLv3.

Configurable dev donation level is set to 2.0 %

You can use following keys to display reports:
'h' - hashrate
'r' - results
'c' - connection
-------------------------------------------------------------------
[2017-10-18 14:42:43] : hwloc: memory pinned

then it stucks.

With the miner compiled from the old code (using the same config.txt and cpu.txt) I get:

-------------------------------------------------------------------
xmr-stak 2.0.0-predev mining software.
Based on CPU mining code by wolf9466 (heavily optimized by fireice_uk).
Brought to you by fireice_uk and psychocrypt under GPLv3.

Configurable dev donation level is set to 2.0 %

You can use following keys to display reports:
'h' - hashrate
'r' - results
'c' - connection
-------------------------------------------------------------------
[2017-10-18 14:49:22] : Starting double thread, affinity: 0.
[2017-10-18 14:49:22] : Starting single thread, affinity: 1.
[2017-10-18 14:49:22] : Starting double thread, affinity: 2.
[2017-10-18 14:49:22] : Starting single thread, affinity: 3.
[2017-10-18 14:49:22] : Connecting to pool xxxx:yyy ...
[2017-10-18 14:49:22] : Connected. Logging in...
[2017-10-18 14:49:22] : hwloc: memory pinned
[2017-10-18 14:49:22] : hwloc: memory pinned
[2017-10-18 14:49:22] : hwloc: memory pinned
[2017-10-18 14:49:22] : hwloc: memory pinned
[2017-10-18 14:49:22] : Difficulty changed. Now: 120001.
[2017-10-18 14:49:22] : New block detected.

I saw you made some change on the code in the last 24 hours, can you check the new code?

Thanks

OpenCL name of a VEGA GPU

The auto suggestion for the AMD backend will add the name of the GPU as comment into the config.
What is the name of the VEGA gpu provided by OpenCL?

Could someone from the communityplease provide us with the config created by the auto suggestion!

This information is needed to improve the auto suggestion for VEGA gpus.

OpenCL not found when compiling on Win10 64bit.

I've been trying to get this to compile on Win10 64bit today, and keep running into errors stating the following;

C:\xmr-stak\xmr-stak\build>cmake -G "Visual Studio 15 2017 Win64" -T v140,host=x64 -DOpenCL_ENABLE=ON ..
-- Selecting Windows SDK version 10.0.16299.0 to target Windows 10.0.16278.
CMake Error at CMakeLists.txt:173 (message):
OpenCL NOT found: use -DOpenCL_ENABLE=OFF to build without OpenCL support
for AMD gpu's

I'm running the AMD 17.x ReLive series drivers, hoping that's not the issue. I've also installed the 3.x AMD APP SDK thinking I might be missing OpenCL libraries.

I had the same issue running the prebuilt xmr-stak-amd binary on this machine. That said, it's got an HD 7950 that runs the Claymore AMD GPU Monero miner just fine... so I'm at a bit of a loss as to what I'm overlooking or missing for the build process.

old TLS snipped?

@fireice-uk Can we remove

xmr-stak/xmrstak/config.tpl

Lines 118 to 125 in 22039b2

/*
* TLS Settings
* If you need real security, make sure tls_secure_algo is enabled (otherwise MITM attack can downgrade encryption
* to trivially breakable stuff like DES and MD5), and verify the server's fingerprint through a trusted channel.
*
* tls_secure_algo - Use only secure algorithms. This will make us quit with an error if we can't negotiate a secure algo.
*/
"tls_secure_algo" : true,
tls setting?
I checked the code an this is still used on some places but I thought each pool can now define if TLS is needed.

Auto configuration first start- AMD GPU "intensity" : 0

Running latest xmr-stak-dev, on linux with rx480( not OC), compile without problems, cpu backend i5 works flawlessly , but having problem with GPU.
After first start, and auto configuration, in amd.txt, suggested configuration is:
"intensity" : 0, "worksize": 8
And if i increase intensity more than 32, get many "AMD invalid result" errors.
Also tried playing with worksize , but no difference.
Sometimes most errors are upon miner start, and sometimes start without errors, and after some time starts throwing errors

RESULT REPORT
Difficulty : 100001
Good results : 316 / 403 (73.8 %)
Avg result time : 100.1 sec
Pool-side hashes : 2958631

Top 10 best results found:
| 0 | 17327791 | 1 | 6890190 |
| 2 | 5178865 | 3 | 4649874 |
| 4 | 4548370 | 5 | 3991239 |
| 6 | 3690780 | 7 | 3579746 |
| 8 | 3028025 | 9 | 2505256 |

Error details:
| Count | Error text | Last seen |
| 87 | AMD Invalid Result | 2017-10-30 07:49:40 |

Note, tried different GPU's, all rx480 and almost new, i took them from my eth rig (works without problems) to test aeon mining. Same configuration both my rig and testing computer, ubuntu/drivers, so GPU should be fine

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.