I'm not a big fan of the hybrid option, seems simpler to manage multiple executables, but I'll throw in my 2 satoshis.
I am not a fan eighter. So I try to make small adjustments to the code to aid the cuda7.5 compiler.
|
|
|
I tried making a quick and dirty hybrid ccminer according to this table, to mine X11. Unfortunately it is slower. Maybe it's because I'm on Linux...
I am profiling the release 74 exe file. (If you want to build you need to extract the sourcecode from the 6.5 version wich is release 74) the command line can be something like: nvprof ccminer74.exe -a x11 --benchmark -d 0 and compare with: nvprof ccminer77.exe -a x11 --benchmark -d 0
|
|
|
I added 0.5MHASH to the qubit algo and 20MHASH in the doom algo(10% faster). on the gtx 970 @github
|
|
|
here are some timings from the x11 algo on a 750ti: cuda 7.5 is faster: blake, skein,shavite,simd,echo cuda 6.5 is faster: bmw,groestl,jhkeccak,luffacubehash release 74:
22.6765s 8.1170ms (19968 1 1) (64 1 1) 64 0B 0B - - GeForce GTX 750 2 14 quark_blake512_gpu_hash_80(unsigned int, unsigned int, uint2*) [3277] 22.6846s 8.8407ms* (39936 1 1) (32 1 1) 128 0B 0B - - GeForce GTX 750 2 14 quark_bmw512_gpu_hash_64(unsigned int, unsigned int, __int64*, unsigned int const *) [3283] 22.6935s 83.971ms* (9984 1 1) (512 1 1) 64 0B 0B - - GeForce GTX 750 2 14 quark_groestl512_gpu_hash_64_quad(unsigned int, unsigned int, unsigned int*, unsigned int const *) [3289] 22.7775s 10.594ms (9984 1 1) (128 1 1) 40 0B 0B - - GeForce GTX 750 2 14 quark_skein512_gpu_hash_64(unsigned int, unsigned int, __int64*, unsigned int const *) [3295] 22.7881s 34.017ms* (4992 1 1) (256 1 1) 80 0B 0B - - GeForce GTX 750 2 14 quark_jh512Keccak512_gpu_hash_64(unsigned int, unsigned int, unsigned int*) [3300] 22.8221s 59.762ms* (4992 1 1) (256 1 1) 71 0B 0B - - GeForce GTX 750 2 14 x11_luffaCubehash512_gpu_hash_64(unsigned int, unsigned int, __int64*) [3305] 22.8819s 57.118ms (3994 1 1) (320 1 1) 64 4.0000KB 0B - - GeForce GTX 750 2 14 x11_shavite512_gpu_hash_64(unsigned int, unsigned int, __int64*) [3310] 22.9390s 55.778ms (319488 1 1) (32 1 1) 62 0B 0B - - GeForce GTX 750 2 14 x11_simd512_gpu_expand_64(unsigned int, unsigned int, __int64 const *, uint4*) [3316] 22.9948s 29.153ms (39936 1 1) (32 1 1) 64 0B 0B - - GeForce GTX 750 2 14 x11_simd512_gpu_compress_64_maxwell(unsigned int, unsigned int, __int64*, uint4*) [3322] 23.0239s 93.088ms (4992 1 1) (256 1 1) 80 4.0000KB 0B - - GeForce GTX 750 2 14 x11_echo512_gpu_hash_64_final(unsigned int, unsigned int, __int64 const *, unsigned int*, unsigned int) [3330]
release 77:
3.83318s 7.1578ms* (19968 1 1) (64 1 1) 80 0B 0B - - GeForce GTX 750 2 14 quark_blake512_gpu_hash_80(unsigned int, unsigned int, uint2*) [736] 3.84034s 9.1572ms (39936 1 1) (32 1 1) 146 0B 0B - - GeForce GTX 750 2 14 quark_bmw512_gpu_hash_64(unsigned int, unsigned int, __int64*, unsigned int const *) [742] 3.84951s 84.421ms (9984 1 1) (512 1 1) 64 0B 0B - - GeForce GTX 750 2 14 quark_groestl512_gpu_hash_64_quad(unsigned int, unsigned int, unsigned int*, unsigned int const *) [748] 3.93394s 9.0119ms* (9984 1 1) (128 1 1) 40 0B 0B - - GeForce GTX 750 2 14 quark_skein512_gpu_hash_64(unsigned int, unsigned int, __int64*, unsigned int const *) [754] 3.94295s 37.825ms (4992 1 1) (256 1 1) 79 0B 0B - - GeForce GTX 750 2 14 quark_jh512Keccak512_gpu_hash_64(unsigned int, unsigned int, unsigned int*) [759] 3.98079s 64.982ms (2496 1 1) (512 1 1) 75 0B 0B - - GeForce GTX 750 2 14 x11_luffaCubehash512_gpu_hash_64(unsigned int, unsigned int, __int64*) [764] 4.04578s 56.054ms* (4992 1 1) (256 1 1) 80 4.0000KB 0B - - GeForce GTX 750 2 14 x11_shavite512_gpu_hash_64(unsigned int, unsigned int, __int64*) [769] 4.10184s 47.404ms* (319488 1 1) (32 1 1) 64 0B 0B - - GeForce GTX 750 2 14 x11_simd512_gpu_expand_64(unsigned int, unsigned int, __int64 const *, uint4*) [775] 4.14925s 25.791ms* (39936 1 1) (32 1 1) 128 0B 0B - - GeForce GTX 750 2 14 x11_simd512_gpu_compress_64_maxwell(unsigned int, unsigned int, __int64*, uint4*) [781] 4.17506s 91.801ms* (4992 1 1) (256 1 1) 128 4.0000KB 0B - - GeForce GTX 750 2 14 x11_echo512_gpu_hash_64_final(unsigned int, unsigned int, __int64 const *, unsigned int*, unsigned int) [789]
|
|
|
My GTX 960 gets 340kh/s mining Neoscrypt with the latest NiceHash Miner, that makes my GTX 960 as fast as an AMD 280X with the latest NiceHash Miner. They are still using your release dot 74. If you did a hybrid compile (Pallas), NiceHash may incorporate your release dot 77+. Neoscrypt is still a top-paying algo at NiceHash, and AMD code is really being optimized there. I may do some benchmark tests. --scryptr
I have done some tests. Some kernals are faster with cuda 6.5 and some are faster in 7.5. With a hybrid approach we get more hash. I will create a hybrid projectfile for release 78 (windows only) Small boost in all algos as usual ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
Quark, X11 it does not work Wolf ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) I don't understand what you mean. new optimised kernels Quark, X11 for NiceHash The x11 kernal was not made by wolf0 was it? The wolf0 kernal is only doing 6.5MHASH on the r9 280x. The nicehash kernal is doing 11MHASH@200watt My opensource ccminer kernal is doing 3.6MHASH with oc @ 50watt. on the 750ti. Equal to 14.4MHASH on the r9 280x. 11mHASH i good, but not profitable. The dashminers have private kernals that mines 22MHASH on different hardware and same Watt. AMD users should mine Etherum. Such profit!
|
|
|
I submitted an x11 speedup. small AES/echo change. Now the cuda 7.5 version is faster than cuda 6.5 on the 750ti. (+15khash) on the gtx 970 it is still 250khash slower(than release 74) gtx 960 20khash slower.(than release 74)
|
|
|
@sp_ can you please post numbers for 14 round blake so ican post them in decred thread. thanks
gtx 980ti 2,4GHASH gtx 980 1,8GHASH gtx 970 1,52GHASH gtx 960 0.98MHASH gtx 750ti 0.53MHASH
|
|
|
djm34 is a good coder. Please send him some beers. His work on neoscrypt has made it one of the most profitable algos.
|
|
|
oops. The numbers are for 8 rounds of blake and not 14 rounds.
|
|
|
Submitted another optimalization 1-2% faster (@github) Just tested on my 980ti and 980.
release 77++ (git)
980ti: 4.1GHASH 980: 3.05GHASH 970: 2,62GHASH 2,63MHASH 960: 1,68GHASH 1,71MHASH 750ti: 912MHASH 930MHASH
|
|
|
release 77+ (git)
750ti: 912MHASH 970: 2,62GHASH 960: 1,68GHASH
blake 8 rounds chart (AMD):
6.4GH/s - 6.9GH/s on a AMD Radeon R9 295X2 3.3GH/s - 3.5GH/s on a AMD Radeon R9 290X 2.9GH/s - 3.1GH/s on a AMD Radeon R9 290 2.6GH/s - 2.8GH/s on a AMD Radeon R9 280X 2.2GH/s - 2.4GH/s on a AMD Radeon R9 280 1.2GH/s - 1.5GH/s on a AMD Radeon R9 270 4.8GH/s - 5.1GH/s on a AMD ATI Radeon 7990 2.2GH/s - 2.8GH/s on a AMD ATI Radeon 7970 2.1GH/s - 2.4GH/s on a AMD ATI Radeon 7950 2.6GH/s - 2.9GH/s on a AMD ATI Radeon 6990 1.4GH/s - 1.5GH/s on a AMD ATI Radeon 6970 1.4GH/s on a AMD ATI Radeon 6950 900MH/s on a AMD ATI Radeon 6870 800MH/s on a AMD ATI Radeon 6850 1.3GH/s on a AMD ATI Radeon 5870 1.1GH/s on a AMD ATI Radeon 5850 1.6GH/s on a ZTEX USB-FPGA 1.15y Quad Spartan-6 LX150 Development Board 1.5GH/s on a Enterpoint Cairnsmore 1 Quad Spartan-6 LX150 Development Board 960MH/s on a Lancelot Dual Spartan-6 LX150 Development Board 360MH/s on a ZTEX USB-FPGA 1.15x Spartan-6 LX150 Development Board
|
|
|
I just made it 5% faster in 5 minutes. ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) you have to build yourself or wait for release 78
|
|
|
I submitted a 70MHASH speedup in the blake-256 8 and 14 rounds. (@github)
750ti: 902MHASH 912MHASH
970: 2,55GHASH 2,62GHASH
960: 1,6GHASH 1,68GHASH
|
|
|
14 rounds is already implemented in sp-mod release 77
ccminer -a blake (14 rounds) ccminer -a blakecoin ... (8 rounds)
14 rounds:
750ti: 495MHASH 970: 1,5GHASH 960: 952MHASH
8 rounds:
750ti: 902MHASH 970: 2,55GHASH 960: 1,6GHASH
|
|
|
Private optimized NVIDIA cryptonight kernal for sale. Only 0.1BTC
10% faster. (windows exe)
If I get 2BTC I could work on it some more and release the sourcecode. I think 20% faster is possible
|
|
|
The compiler engineers at NVIDIA is probobly using EESL. Altcoin miners make their own compilers from scratach.
|
|
|
Nice findings. The compiler is different in x86 (32bit) than linux 64bit.
|
|
|
|