KlausT / ccminer-cryptonight

Software for mining various cryptocoins, like Monero (pool mining only)
GNU General Public License v3.0
133 stars 30 forks source link

Unsupported GPU architecture 'compute_60' #22

Open cgartists opened 7 years ago

cgartists commented 7 years ago

Figures, I finally get a miner that seems promissing and it gives me this error. Does this not support the newest Nvidia Titan X Pascal cards?

Is there a way to make this mining software work with the Pascal architecture?

Commands I've entered, "./autogen ./configure make install"

make install gives the following error.

Making install in compat make[1]: Entering directory '/home/titan/Downloads/ccminer-cryptonight-master/compat' make[2]: Entering directory '/home/titan/Downloads/ccminer-cryptonight-master/compat' make[3]: Entering directory '/home/titan/Downloads/ccminer-cryptonight-master/compat' make[3]: Nothing to be done for 'install-exec-am'. make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '/home/titan/Downloads/ccminer-cryptonight-master/compat' make[2]: Leaving directory '/home/titan/Downloads/ccminer-cryptonight-master/compat' make[1]: Leaving directory '/home/titan/Downloads/ccminer-cryptonight-master/compat' make[1]: Entering directory '/home/titan/Downloads/ccminer-cryptonight-master' gcc -DHAVE_CONFIG_H -I. -I/usr/local/cuda/include -msse2 -fopenmp -pthread -fno-strict-aliasing -DSCRYPT_KECCAK512 -DSCRYPT_CHACHA -DSCRYPT_CHOOSE_COMPILETIME -g -O2 -MT ccminer-cpu-miner.o -MD -MP -MF .deps/ccminer-cpu-miner.Tpo -c -o ccminer-cpu-miner.o test -f 'cpu-miner.c' || echo './'cpu-miner.c mv -f .deps/ccminer-cpu-miner.Tpo .deps/ccminer-cpu-miner.Po gcc -DHAVE_CONFIG_H -I. -I/usr/local/cuda/include -msse2 -fopenmp -pthread -fno-strict-aliasing -DSCRYPT_KECCAK512 -DSCRYPT_CHACHA -DSCRYPT_CHOOSE_COMPILETIME -g -O2 -MT ccminer-util.o -MD -MP -MF .deps/ccminer-util.Tpo -c -o ccminer-util.o test -f 'util.c' || echo './'util.c mv -f .deps/ccminer-util.Tpo .deps/ccminer-util.Po gcc -DHAVE_CONFIG_H -I. -I/usr/local/cuda/include -msse2 -fopenmp -pthread -fno-strict-aliasing -DSCRYPT_KECCAK512 -DSCRYPT_CHACHA -DSCRYPT_CHOOSE_COMPILETIME -g -O2 -MT ccminer-sha2.o -MD -MP -MF .deps/ccminer-sha2.Tpo -c -o ccminer-sha2.o test -f 'sha2.c' || echo './'sha2.c mv -f .deps/ccminer-sha2.Tpo .deps/ccminer-sha2.Po nvcc -g -O2 -I . -D_FORCE_INLINES -I/usr/local/cuda/include -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_20,code=sm_21 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_37,code=sm_37 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_52,code=sm_52 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_61,code=sm_61 --maxrregcount=128 --ptxas-options=-v -o cryptonight/cryptonight.o -c cryptonight/cryptonight.cu nvcc fatal : Unsupported gpu architecture 'compute_60' Makefile:1152: recipe for target 'cryptonight/cryptonight.o' failed make[1]: [cryptonight/cryptonight.o] Error 1 make[1]: Leaving directory '/home/titan/Downloads/ccminer-cryptonight-master' Makefile:726: recipe for target 'install-recursive' failed make: [install-recursive] Error 1

my cuda version

nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2015 NVIDIA Corporation Built on Tue_Aug_11_14:27:32_CDT_2015 Cuda compilation tools, release 7.5, V7.5.17

Looking forward to any help, thanks in advance!

KlausT commented 7 years ago

CUDA 7.5 doesn't support compute_60 and above. If you don't want to install CUDA 8.0 then you could modify the makefile.am and delete the compute_60 and 61 stuff.

cgartists commented 7 years ago

Thanks! It now recognizes my GPU, however a new issue has come up. If I try to mine to a pool or even just benchmark my system it gives me this error.

ccminer -D --benchmark -d 0

[2017-03-13 16:28:28] 1 miner threads started, using 'cryptonight' algorithm. [2017-03-13 16:28:28] GPU #0: TITAN X (Pascal) (28 SMX), using 112 blocks of 8 threads [2017-03-13 16:28:28] GPU #0: TITAN X (Pascal), got new work [2017-03-13 16:28:28] GPU #0: TITAN X (Pascal), startnonce $55555555, endnonce $55555755

GPU 0: invalid device function cryptonight/cuda_cryptonight_extra.cu line 198

In the file "cryptonight/cuda_cryptonight_extra.cu" line 198 says:

exit_if_cudaerror(thr_id, FILE, LINE);

NOTE: If I delete this or comment it out, it still gives me error line 198. What I find odd, if I remove some spacing from the document as a whole, exit_if_cudaerror(thr_id, FILE, LINE); should now be on different line. But when I re-run ccminer --background, It still says line 198 which now that line would read something different entirely.

Thanks again in advance

KlausT commented 7 years ago

I guess the compiler didn't compile the modified file. Try "make clean" before compiling it But I don't think commenting out the error check will help. Did you delete the compute_60 stuff? Try adding -gencode=arch=compute_52,code=sm_52

cgartists commented 7 years ago

In both files "Make" and "Makefile.am" I've removed the compute_60 stuff.

NVCC_GENCODE = -D_FORCE_INLINES $(CUDA_CFLAGS) -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_20,code=sm_21 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_37,code=sm_37 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_52,code=sm_52

Are there any other files that contain "60" architecture? I when through the steps again, using ./configure then removed the compute 60s. Then "make" and "make install" (which requires sudo to edit '/usr/local/bin/ccminer'). Through each step I checked and removed the "60s". It still gives the same error:

GPU 0: invalid device function cryptonight/cuda_cryptonight_extra.cu line 198

Thanks again, I appreciate your help so far


I have also included some output of the "make" command when compiling. Not sure if this will be useful for debugging, but here it is.

mv -f .deps/ccminer-sha2.Tpo .deps/ccminer-sha2.Po nvcc -g -O2 -I . -D_FORCE_INLINES -I/usr/local/cuda/include -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_20,code=sm_21 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_37,code=sm_37 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_52,code=sm_52 --maxrregcount=128 --ptxas-options=-v -o cryptonight/cryptonight.o -c cryptonight/cryptonight.cu ptxas warning : Too big maxrregcount value specified 128, will be ignored ptxas info : 0 bytes gmem ptxas warning : Too big maxrregcount value specified 128, will be ignored ptxas info : 0 bytes gmem ptxas warning : Too big maxrregcount value specified 128, will be ignored ptxas info : 0 bytes gmem ptxas info : 0 bytes gmem ptxas info : 0 bytes gmem ptxas info : 0 bytes gmem ptxas info : 0 bytes gmem nvcc -g -O2 -I . -D_FORCE_INLINES -I/usr/local/cuda/include -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_20,code=sm_21 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_37,code=sm_37 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_52,code=sm_52 --maxrregcount=128 --ptxas-options=-v -o cryptonight/cuda_cryptonight_core.o -c cryptonight/cuda_cryptonight_core.cu ptxas warning : Too big maxrregcount value specified 128, will be ignored ptxas info : 0 bytes gmem, 4096 bytes cmem[2] ptxas info : Compiling entry function '_Z27cryptonight_core_gpu_phase2jiiPjSS' for 'sm_21' ptxas info : Function properties for _Z27cryptonight_core_gpu_phase2jiiPjSS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 44 registers, 4096 bytes smem, 72 bytes cmem[0], 4 bytes cmem[16] ptxas info : Compiling entry function '_Z27cryptonight_core_gpu_phase1iPjSS' for 'sm_21' ptxas info : Function properties for _Z27cryptonight_core_gpu_phase1iPjSS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 63 registers, 4096 bytes smem, 64 bytes cmem[0], 4 bytes cmem[16] ptxas info : Compiling entry function '_Z27cryptonight_core_gpuphase3iPKjPjS1' for 'sm_21' ptxas info : Function properties for _Z27cryptonight_core_gpuphase3iPKjPjS1 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 63 registers, 4096 bytes smem, 64 bytes cmem[0], 4 bytes cmem[16] ptxas warning : Too big maxrregcount value specified 128, will be ignored ptxas info : 0 bytes gmem, 4096 bytes cmem[2] ptxas info : Compiling entry function '_Z27cryptonight_core_gpu_phase2jiiPjSS' for 'sm_20' ptxas info : Function properties for _Z27cryptonight_core_gpu_phase2jiiPjSS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 38 registers, 4096 bytes smem, 72 bytes cmem[0], 4 bytes cmem[16] ptxas info : Compiling entry function '_Z27cryptonight_core_gpu_phase1iPjSS' for 'sm_20' ptxas info : Function properties for _Z27cryptonight_core_gpu_phase1iPjSS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 61 registers, 4096 bytes smem, 64 bytes cmem[0], 4 bytes cmem[16] ptxas info : Compiling entry function '_Z27cryptonight_core_gpuphase3iPKjPjS1' for 'sm_20' ptxas info : Function properties for _Z27cryptonight_core_gpuphase3iPKjPjS1 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 60 registers, 4096 bytes smem, 64 bytes cmem[0], 4 bytes cmem[16] ptxas warning : Too big maxrregcount value specified 128, will be ignored ptxas info : 0 bytes gmem, 4096 bytes cmem[3] ... ptxas info : Compiling entry function '_Z27cryptonight_extra_gpufinalijPKjPjS1' for 'sm_35' ptxas info : Function properties for _Z27cryptonight_extra_gpufinalijPKjPjS1 856 bytes stack frame, 8 bytes spill stores, 44 bytes spill loads ptxas info : Used 128 registers, 352 bytes cmem[0] ptxas info : Function properties for _Z15cn_skein_updateP14skeinHashStatePKhy11 8 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Function properties for _Z16cn_groestl_finalP16groestlHashStatePh12 152 bytes stack frame, 32 bytes spill stores, 48 bytes spill loads ptxas info : Function properties for _Z18cn_groestl_RND512PPhPjj13 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Function properties for _Z20cn_groestl_transformP16groestlHashStatePKhi 32 bytes stack frame, 48 bytes spill stores, 32 bytes spill loads ptxas info : Compiling entry function '_Z29cryptonight_extra_gpu_prepareiPjjS_S_S_SS' for 'sm_35' ptxas info : Function properties for _Z29cryptonight_extra_gpu_prepareiPjjS_S_S_SS 8 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 98 registers, 384 bytes cmem[0]

KlausT commented 7 years ago

Oops, sorry, small typo in my comment. I meant adding -gencode=arch=compute_52,code=compute_52 to the makefile.am If this works then the first start of ccminer will probably take a little bit longer, but then work normally

cgartists commented 7 years ago

YES! It works now! Thanks! My hashrate is a little disappointing though. 1.6KH/s I was in the megahash on ethereum, which is now unprofitable. Is there a way to increase the speed with some parameters?

Thanks very much for helping me make this work, appreciate your time.

KlausT commented 7 years ago

Try -l 8x224 --bfactor=0 if you have enough memory maybe even 336

This algo is generally very slow. The memory speed has a large influence. My GTX1070 is doing 616 H/s

cgartists commented 7 years ago

Sweet! It's now at 2KH/s. I checked my Nvidia settings. Only 4GB vRAM being used out of 12GB. What parameters would I need to enter to utalize say 10GB? I tried 8x336 & it says illegal memory access.

KlausT commented 7 years ago

In this line: *** ccminer-cryptonight 2.01 (64 bit) for nVidia GPUs by tsiv and KlausT does it say 64bit, or does it say 32bit?

cgartists commented 7 years ago

64bit. My computer is also 64bit

KlausT commented 7 years ago

I made a small change. Maybe you could try 8x336 now, I can't say if it will work for you or not.

cgartists commented 7 years ago

8x336 still doesn't work, but my 8x224 hashrate is now 2.2KH/s. 200H faster.