felixbrucker
|
|
March 04, 2017, 09:02:54 PM |
|
im currently trying to understand the structure of cpuminer-opt/cpuminer-multi: i want to implement a basic cryptonight hashing function in javascript and/or port the C/C++ part of cpuminer-opt to js with asm.js, though im not sure what the best starting point for this basic task is
is there some documentation for devs which are not familiar with how mining software works?
i suppose writing this in js with libs is fairly easy
Not that I'm aware of. The first step is to identify everything needed for cryptonight. If all you want is the bare hashing function look in algo/cryptonight/cryptonight-aesni.c. If you need to rely on SW AES look in algo/cryptonight/cryptonight.c. There's a lot more to it if you want to build a mining app: UI, stratum/networking, multithreading, algo interface, algo support SW, I'm probably missing a couple. If you want to build a frankenstein you need to find the line between the core SW and the algo SW. That line is primarilly scanhash, though it's a very blurred line. Almost everything above it is core SW, and everything below is algo specific. The intent of algo-gate was to try to better define that line, but you can still see when the line is crossed by the custom target functions the algo has to give to the core. multi and ccminer have a bunch of algo hooks in the core code. I'm not familiar with any other miner architectures but I presume there still exists that basic interface where you input a message and get back a hash. thanks will look into it yes, im aiming for frankenstein, nothing pretty, it should just work
|
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
March 04, 2017, 10:14:34 PM |
|
For cryptonight the 1800x seems to have an edge over i7-6800K with a slightly larger L3 cache and 2 more hyperthreaded cores but also a higher price.
Cryptonight doesn't stress the cores, it would be nice to see performance on a well optimized compute intensive algo like deep.
|
|
|
|
nizzuu
Full Member
Offline
Activity: 187
Merit: 100
Cryptocurrency enthusiast
|
|
March 06, 2017, 10:07:06 AM |
|
cpuminer-opt v3.5.12 is released with support for sha256t, 29% faster than ocminer version.
joblo, can u tell us the optimal -t (thread number) on this algo? Depending on CPU cache size(s), core count, thread (hyper-threading) count. Tested on i5-4570 (Haswell, 4 cores, 4 threads, 6MB L3), seems that -t 4 is the fastest setting in time, while -t 5 or -t 6 gives maximum peaks (first 3-5 minutes). P.S. The avg speed on my CPU is 4850... 5200 kH/s (sha256t) Thanks.
|
|
|
|
HexxoDev
|
|
March 06, 2017, 12:40:47 PM |
|
HexxCoin also moved to use lyra2z330 as algo name. This is more easy as its algo name.
|
|
|
|
woodaxe
Member
Offline
Activity: 129
Merit: 10
|
|
March 06, 2017, 12:47:06 PM |
|
Hi took me a while to get the miner running on xmr but mainly down to me not knowing what i was doing with bat files etc running a xeon E5 2670 v2 10cores 20 threads was hashing at 340h/s using 12 threads What im looking for is a ZEC cpu miner are you doing the algo so that can be mined
many thanks for your work
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
March 06, 2017, 01:35:19 PM |
|
HexxCoin also moved to use lyra2z330 as algo name. This is more easy as its algo name.
That was my intent. I prefer not to use the coin name as algo name.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
March 06, 2017, 01:40:06 PM |
|
cpuminer-opt v3.5.12 is released with support for sha256t, 29% faster than ocminer version.
joblo, can u tell us the optimal -t (thread number) on this algo? Depending on CPU cache size(s), core count, thread (hyper-threading) count. Tested on i5-4570 (Haswell, 4 cores, 4 threads, 6MB L3), seems that -t 4 is the fastest setting in time, while -t 5 or -t 6 gives maximum peaks (first 3-5 minutes). P.S. The avg speed on my CPU is 4850... 5200 kH/s (sha256t) Thanks. Try different combos and tell everyone what works best. For compute intensive algo it's usuallty best to run N threads. For memory bound algo you'll reach a peak and adding more threads won't help. Cryptonight is special because it is cache bound. There is a sweet spot when everything fits nicely in the cache. Add another thread and speed drops dramatically.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
March 06, 2017, 02:00:41 PM |
|
Hi took me a while to get the miner running on xmr but mainly down to me not knowing what i was doing with bat files etc running a xeon E5 2670 v2 10cores 20 threads was hashing at 340h/s using 12 threads What im looking for is a ZEC cpu miner are you doing the algo so that can be mined
many thanks for your work
cpuminer-opt doesn't support zcash mining. There are a few miners available for zcash, refer to the pool's instructions.
|
|
|
|
woodaxe
Member
Offline
Activity: 129
Merit: 10
|
|
March 06, 2017, 04:47:52 PM |
|
Hi took me a while to get the miner running on xmr but mainly down to me not knowing what i was doing with bat files etc running a xeon E5 2670 v2 10cores 20 threads was hashing at 340h/s using 12 threads What im looking for is a ZEC cpu miner are you doing the algo so that can be mined
many thanks for your work
cpuminer-opt doesn't support zcash mining. There are a few miners available for zcash, refer to the pool's instructions. thanks for the fast reply i have looked at other miners inc nheqminer which only seems to run 2 threads no matter what i do i have read the pools instructions as well
|
|
|
|
cerebrum06
Newbie
Offline
Activity: 6
Merit: 0
|
|
March 07, 2017, 12:22:01 PM |
|
This is the home of cpuminer-opt, The optimized CPU miner.cpuminer-opt now supports over 50 algorithms with more than 20 optimized to use AES_NI, AVX and AVX2 on capable CPUs. cpuminer-opt v3.5.12 is now released and available for download. Source code:git: https://github.com/JayDDee/cpuminer-opttarball: https://drive.google.com/file/d/0B0lVSGQYLJIZbUgwcGRjUXlhYzA/view?usp=sharingWindows binarieshttps://drive.google.com/file/d/0B0lVSGQYLJIZbU5ydlhiYjk0SkU/view?usp=sharingNew in v3.5.12New algo sha256t for Onecoin (OC), 29% faster than ocminer version. Lyra2zoin algo renamed to lyra2z330, lyra2zoin and zoin still work as aliases. Legacy version 3.5.9.1 May provide better performance on some algos with older CPUs that don't have AES NI Legacy branch updated with new algos from master branch. git clone https://github.com/JayDDee/cpuminer-opt -b legacy Tarball: https://drive.google.com/file/d/0B0lVSGQYLJIZcDg0d0QzbzJBUDA/view?usp=sharingWindows Binaries: https://drive.google.com/file/d/0B0lVSGQYLJIZT0tlY3o4ZjEycXM/view?usp=sharingErrata:Users with older AMD CPUs have reported many problems with varius versions of cpuminer-opt. The early versions of SSE2 on AMD are not always compatible with the code in cpuminer-opt. This creates challenges both compiling and running cpuminer-opt on AMD CPUs. Some algos jusy won't work on these CPUs and users will need a miner without SSE2 such as cpuminer-multi. Bench stats collection enabled (-p stats) when mining timetravel causes miner to exit after 50 share submissions. cpuminer-opt does not work mining Decred algo at Nicehash and produces only "invalid extranonce2 size" rejects. Benchmark testing does not work for x11evo. Requirements:1. A x86_64 architecture CPU with a minimum of SSE2 support. This includes Intel Core2 and newer and AMD equivalents. In order to take advantage of AES_NI optimizations a CPU with AES_NI is required. This includes Intel Westbridge and newer and AMD equivalents. Further optimizations are available on some algos for CPUs with AVX and AVX2, Sandybridge and Haswell respectively. Older CPUs are supported by cpuminer-multi by TPruvot but at reduced performance. 2. 64 bit Linux OS. Ubuntu and Fedora based distributions, including Mint and Centos are known to work and have all dependencies in their repositories. Others may work but may require more effort. 64 bit Windows OS is supported using the pre-compiled binaries package or may be compiled with mingw_w64 and msys. 3. Stratum pool, cpuminer-opt only supports stratum minning. Anything else is YMMV. Hello. Please, can you give us static compilled binaries for linux64? I have user-accounts on some servers, but will never have a root access to compile your miner. Need same as windows-binaries, but for linux64. It is possible? Thanks.
|
|
|
|
woodaxe
Member
Offline
Activity: 129
Merit: 10
|
|
March 07, 2017, 12:41:51 PM |
|
is there any particular reason as to why theres no zec algo with your miner
many thanks
|
|
|
|
th3.r00t
|
|
March 07, 2017, 05:25:54 PM |
|
joblo, it seems that XEVAN is broken on all non-AES AMD CPU's
CPU: Athlon 64 X2 Dual Core Processor 6000+ (MMX, SSE, SSE2, SSE3) OS: Ubuntu 14.04 x64 miner versions: v3.4.12-legacy / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)" v3.4.12-legacy / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)" v3.5.9.1-legacy / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)" v3.5.9.1-legacy / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)" v3.5.12 / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)" v3.5.12 / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)"
CPU: AMD Phenom II X4 965 (MMX (+), 3DNow! (+), SSE, SSE2, SSE3, SSE4A, x86-64, AMD-V) OS: Win 7 Ultimate x64 SP1 miner versions: v3.4.12-legacy / -march=core2 - After miner and stratum start > APPCRASH v3.4.12-legacy / -march=btver1 - After miner and stratum start > APPCRASH v3.5.9.1-legacy / -march=core2 - After miner and stratum start > APPCRASH v3.5.9.1-legacy / -march=btver1 - After miner and stratum start > APPCRASH v3.5.12 / -march=core2 - After miner and stratum start > APPCRASH v3.5.12 / -march=btver1 - After miner and stratum start > APPCRASH
CPU: AMD FX-7600P (MMX (+), SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE4A, x86-64, AMD-V, AES, AVX, XOP, FMA3, FMA4) OS: Win 7 Ultimate x64 SP1 miner versions: v3.4.12-legacy / -march=bdver3 - XEVAN Works v3.4.12-legacy / -march=native - XEVAN Works v3.5.9.1-legacy / -march=bdver3 - XEVAN Works v3.5.9.1-legacy / -march=native - XEVAN Works v3.5.12 / -march=bdver3 - XEVAN Works v3.5.12 / -march=native - XEVAN Works
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
March 07, 2017, 07:08:32 PM |
|
joblo, it seems that XEVAN is broken on all non-AES AMD CPU's
CPU: Athlon 64 X2 Dual Core Processor 6000+ (MMX, SSE, SSE2, SSE3) OS: Ubuntu 14.04 x64 miner versions: v3.4.12-legacy / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)" v3.4.12-legacy / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)" v3.5.9.1-legacy / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)" v3.5.9.1-legacy / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)" v3.5.12 / -march=core2 - After miner and stratum start > "Illegal instruction (core dumped)" v3.5.12 / -march=btver1 - After miner and stratum start > "Illegal instruction (core dumped)"
CPU: AMD Phenom II X4 965 (MMX (+), 3DNow! (+), SSE, SSE2, SSE3, SSE4A, x86-64, AMD-V) OS: Win 7 Ultimate x64 SP1 miner versions: v3.4.12-legacy / -march=core2 - After miner and stratum start > APPCRASH v3.4.12-legacy / -march=btver1 - After miner and stratum start > APPCRASH v3.5.9.1-legacy / -march=core2 - After miner and stratum start > APPCRASH v3.5.9.1-legacy / -march=btver1 - After miner and stratum start > APPCRASH v3.5.12 / -march=core2 - After miner and stratum start > APPCRASH v3.5.12 / -march=btver1 - After miner and stratum start > APPCRASH
CPU: AMD FX-7600P (MMX (+), SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE4A, x86-64, AMD-V, AES, AVX, XOP, FMA3, FMA4) OS: Win 7 Ultimate x64 SP1 miner versions: v3.4.12-legacy / -march=bdver3 - XEVAN Works v3.4.12-legacy / -march=native - XEVAN Works v3.5.9.1-legacy / -march=bdver3 - XEVAN Works v3.5.9.1-legacy / -march=native - XEVAN Works v3.5.12 / -march=bdver3 - XEVAN Works v3.5.12 / -march=native - XEVAN Works
Illegal instruction pretty much tells the story. With a lot of help I can probably figure out which instruction AMD is tripping over but I won't be able to fix. The instruction isn't implemented in the CPU, it's as simple as that. This kind of imcompatibility is probably worked around by the compiler but that doesn't work for intrinsic functions or assembly code. The only alternative is to use a miner that is free of SSE2 code such as cpuminer-multi.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
March 08, 2017, 06:12:19 PM |
|
I'm looking at updating the errata for old AMD CPUs and would like more precision on which CPUs work and which don't.
Athlon 64 x2 and Phenom II x4 are confirmed not to work. It appears anything less than Bulldozer, which introduced AVX, will not work with all algos.
If no one has data that says otherwise I'll update the errata in the OP.
|
|
|
|
Amph
Legendary
Offline
Activity: 3248
Merit: 1072
|
|
March 09, 2017, 08:24:58 AM |
|
no support for solo mining right? there was a coin with very very low hash, i was thinking to give it a try with cpu, since with gpu would be overkill
but the miner only support stratum connection...
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
March 09, 2017, 04:02:16 PM |
|
no support for solo mining right? there was a coin with very very low hash, i was thinking to give it a try with cpu, since with gpu would be overkill
but the miner only support stratum connection...
It's not really by intent, I just don't feel like installing wallets for every coin for testing. I have been told some algos work but I have no idea which ones.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
March 09, 2017, 06:19:09 PM Last edit: March 09, 2017, 09:55:45 PM by joblo |
|
Edit: I just found a bug that would break getwork, It will be fixed in the next release. Until then it's probably not worth it to try testing it.
I took a look at the getwork and gbt code and there are not a lot of algo hooks. It might be possible to fix it for some algos. But this will require a lot of help from user testing and good reporting of test results. Comparing to cpuminer-multi should make it easier.
For anyone interested in helping out please provide the following information.
1. Basic info on test environment: CPU, OS, algo, coin,
2. Information for each miner used: version, compiled from source or binaries, link if not well known
2. Does solo mining using the wallet miner work?
3. Does cpuminer-opt work solo mining? Provide details including console session showing command line options.
4. Is there another miner available that works solo mining? Provide details.
5. Any technical info available about the algo/coin that affects solo mining, ie similarities/differences with other algos that produce different test results
This will hopefuly identify the problem areas that need attention, Having a working model to compare with should make it easier to fix them.
|
|
|
|
th3.r00t
|
|
March 09, 2017, 09:08:27 PM |
|
I'm looking at updating the errata for old AMD CPUs and would like more precision on which CPUs work and which don't.
Athlon 64 x2 and Phenom II x4 are confirmed not to work. It appears anything less than Bulldozer, which introduced AVX, will not work with all algos.
If no one has data that says otherwise I'll update the errata in the OP.
These CPUs are working fine with legacy versions on zr5 algo. I haven't tested other algos, since I have no interest in them. m7m also works if I recall corectly - will test that on a weekend.
|
|
|
|
joblo (OP)
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
March 09, 2017, 09:53:50 PM |
|
I'm looking at updating the errata for old AMD CPUs and would like more precision on which CPUs work and which don't.
Athlon 64 x2 and Phenom II x4 are confirmed not to work. It appears anything less than Bulldozer, which introduced AVX, will not work with all algos.
If no one has data that says otherwise I'll update the errata in the OP.
These CPUs are working fine with legacy versions on zr5 algo. I haven't tested other algos, since I have no interest in them. m7m also works if I recall corectly - will test that on a weekend. Thanks, that helps localize the incompatible code, it's not in code used by zr5 or m7m. Let me know if something is broken using an AVX enabled AMD CPU, that would be unexpected.
|
|
|
|
|