fireice-uk / xmr-stak-nvidia

Monero NVIDIA miner
GNU General Public License v3.0
248 stars 98 forks source link

GPU 0: no kernel image is available for execution on the device #159

Closed hanserasmus closed 6 years ago

hanserasmus commented 6 years ago

Hi Guys

I have built a new install on a notebook with a K610M GPU. Running CentOS7.4. 01:00.0 VGA compatible controller: NVIDIA Corporation GK208GLM [Quadro K610M] (rev a1)

No errors were seen during the install or build, and I get a basic config to insert into my config.txt, but upon launching the program (as root) I get the following output:

`XMR-Stak-NVIDIA mining software, NVIDIA Version. NVIDIA mining code was written by KlausT and psychocrypt. Brought to you by fireice_uk 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-17 11:59:43] : Connecting to pool pool.minemonero.pro:80 ... [2017-10-17 11:59:44] : Connected. Logging in... [2017-10-17 11:59:44] : Difficulty changed. Now: 5000. [2017-10-17 11:59:44] : New block detected.

GPU 0: no kernel image is available for execution on the device /opt/monero/xmr-stak-nvidia/nvcc_code/cuda_extra.cu line 226`

All drivers were successfully installed. Using CUDA 9.

Any ideas would be welcome!

hanserasmus commented 6 years ago

Tried recompiling, this is the output:

cmake3 -DCUDA_ARCH=60;61;62 . -- The C compiler identification is GNU 6.3.1 -- The CXX compiler identification is GNU 6.3.1 -- Check for working C compiler: /opt/rh/devtoolset-6/root/usr/bin/cc -- Check for working C compiler: /opt/rh/devtoolset-6/root/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: /opt/rh/devtoolset-6/root/usr/bin/c++ -- Check for working CXX compiler: /opt/rh/devtoolset-6/root/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/local/cuda (found suitable version "9.0", minimum required is "7.5") -- Found OpenSSL: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so (found version "1.0.2k") -- Configuring done -- Generating done -- Build files have been written to: /opt/monero/xmr-stak-nvidia bash: 61: command not found... bash: 62: command not found...

Don't know what the last two lines refer to. Or if it even is a problem.

Then:

make install [ 4%] Building NVCC (Device) object CMakeFiles/xmr-stak-nvidiaCuda.dir/nvcc_code/xmr-stak-nvidiaCuda_generated_cuda_extra.cu.o [ 9%] Building NVCC (Device) object CMakeFiles/xmr-stak-nvidiaCuda.dir/nvcc_code/xmr-stak-nvidiaCuda_generated_cuda_core.cu.o /opt/monero/xmr-stak-nvidia/nvcc_code/cuda_core.cu(159): warning: function "shfl(int, int, int)" /usr/local/cuda/include/sm_30_intrinsics.hpp(152): here was declared deprecated ("shfl() is deprecated in favor of __shfl_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).")

Scanning dependencies of target xmr-stak-nvidiaCuda [ 14%] Linking CXX static library libxmr-stak-nvidiaCuda.a [ 14%] Built target xmr-stak-nvidiaCuda Scanning dependencies of target xmr-stak-nvidiaCrypto [ 19%] Building C object CMakeFiles/xmr-stak-nvidiaCrypto.dir/crypto/c_blake256.c.o [ 23%] Building C object CMakeFiles/xmr-stak-nvidiaCrypto.dir/crypto/c_groestl.c.o [ 28%] Building C object CMakeFiles/xmr-stak-nvidiaCrypto.dir/crypto/c_jh.c.o [ 33%] Building C object CMakeFiles/xmr-stak-nvidiaCrypto.dir/crypto/c_keccak.c.o [ 38%] Building C object CMakeFiles/xmr-stak-nvidiaCrypto.dir/crypto/c_skein.c.o [ 42%] Building C object CMakeFiles/xmr-stak-nvidiaCrypto.dir/crypto/soft_aes.c.o [ 47%] Linking C static library libxmr-stak-nvidiaCrypto.a [ 47%] Built target xmr-stak-nvidiaCrypto Scanning dependencies of target xmr-stak-nvidia [ 52%] Building CXX object CMakeFiles/xmr-stak-nvidia.dir/cli-miner.cpp.o [ 57%] Building CXX object CMakeFiles/xmr-stak-nvidia.dir/console.cpp.o [ 61%] Building CXX object CMakeFiles/xmr-stak-nvidia.dir/executor.cpp.o [ 66%] Building CXX object CMakeFiles/xmr-stak-nvidia.dir/httpd.cpp.o [ 71%] Building CXX object CMakeFiles/xmr-stak-nvidia.dir/jconf.cpp.o [ 76%] Building CXX object CMakeFiles/xmr-stak-nvidia.dir/jpsock.cpp.o [ 80%] Building CXX object CMakeFiles/xmr-stak-nvidia.dir/minethd.cpp.o [ 85%] Building CXX object CMakeFiles/xmr-stak-nvidia.dir/socket.cpp.o [ 90%] Building CXX object CMakeFiles/xmr-stak-nvidia.dir/webdesign.cpp.o [ 95%] Building CXX object CMakeFiles/xmr-stak-nvidia.dir/crypto/cryptonight_common.cpp.o [100%] Linking CXX executable bin/xmr-stak-nvidia [100%] Built target xmr-stak-nvidia Install the project... -- Install configuration: "Release" -- Installing: /opt/monero/xmr-stak-nvidia/bin/config.txt

hanserasmus commented 6 years ago

Saw I made a mistake with CUDA_ARCH flag. According to this it seems it should have been 50. So I recompiled.

cmake3 -DCUDA_ARCH=50 . -- The C compiler identification is GNU 6.3.1 -- The CXX compiler identification is GNU 6.3.1 -- Check for working C compiler: /opt/rh/devtoolset-6/root/usr/bin/cc -- Check for working C compiler: /opt/rh/devtoolset-6/root/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: /opt/rh/devtoolset-6/root/usr/bin/c++ -- Check for working CXX compiler: /opt/rh/devtoolset-6/root/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/local/cuda (found suitable version "9.0", minimum required is "7.5") -- Found OpenSSL: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so (found version "1.0.2k") -- Configuring done -- Generating done -- Build files have been written to: /opt/monero/xmr-stak-nvidia

Note that the errors: bash: 61: command not found... bash: 62: command not found...

are gone.

But it will still not launch. It still says: GPU 0: no kernel image is available for execution on the device /opt/monero/xmr-stak-nvidia/nvcc_code/cuda_extra.cu line 226

psychocrypt commented 6 years ago

K610M is sm_35. see https://developer.nvidia.com/cuda-gpus

This means you need cmake -DCUDA_ARCH=35

hanserasmus commented 6 years ago

Thank you, that solved it for me. Sorry for any trouble caused.

joantune commented 6 years ago

Thanks for this @hanserasmus, I was getting the same errors but for a different machine now I know what's up

psddp commented 6 years ago

I have the same issue but on Window. Tried CUDA 8 and CUDA 9. The GPU is NVIDIA GeForce GT 525M.

VITALFORCE47 commented 6 years ago

I have got same problem using my nvdia gtx 560ti. I am using windows 10 and awesome miner as program.

KeyC0de commented 5 years ago

@psddp @VITALFORCE47 Try compute_30,sm_30. Generally this parameter depends on the native CC of the NVIDIA GPU and you have to update it manually.

niroussel commented 5 years ago

I have a nvdia gtx 560ti too, and it seems to be sm_21 ... (from https://developer.nvidia.com/cuda-gpus)

With CUDA 9.1, I get a this error: "nvcc fatal : Unsupported gpu architecture 'compute_21' ".

Which CUDA version would work?

EDIT: Got it! http://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/

CUDA 8 seems to be the one! (deprecated from CUDA 9)

psychocrypt commented 5 years ago

you must compile https://github.com/fireice-uk/xmr-stak/releases with cuda

  1. Our binaries requires cuda 9.0 for windows and cuda 9.2 for linux precompiled binaries. Both will not support old fermi gpus
niroussel commented 5 years ago

I'll give it a try :) thanks

18829236784 commented 5 years ago

@Nik-Lz Can you elaborate on how to update it manually about ‘’compute_30,sm_30‘’? Mine is gt 640M, windows 7, cuda 9.0 Thanks

naveenkulkarni029 commented 5 years ago

Hello I am facing the same issue. Below is the error log

RuntimeError: cuda runtime error (48) : no kernel image is available for execution on the device at /pytorch/torch/lib/THCUNN/generic/SpatialDilatedMaxPooling.cu:152

I have a ubuntu 16.04, cuda 10, nvidia 410.79, gpu card Q1000 M compute capability 5.0. nvidia-docker2 installed. Please help me

pragrammers commented 3 years ago

Saw I made a mistake with CUDA_ARCH flag. According to this it seems it should have been 50. So I recompiled.

cmake3 -DCUDA_ARCH=50 . -- The C compiler identification is GNU 6.3.1 -- The CXX compiler identification is GNU 6.3.1 -- Check for working C compiler: /opt/rh/devtoolset-6/root/usr/bin/cc -- Check for working C compiler: /opt/rh/devtoolset-6/root/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: /opt/rh/devtoolset-6/root/usr/bin/c++ -- Check for working CXX compiler: /opt/rh/devtoolset-6/root/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/local/cuda (found suitable version "9.0", minimum required is "7.5") -- Found OpenSSL: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so (found version "1.0.2k") -- Configuring done -- Generating done -- Build files have been written to: /opt/monero/xmr-stak-nvidia

Note that the errors: bash: 61: command not found... bash: 62: command not found...

are gone.

But it will still not launch. It still says: GPU 0: no kernel image is available for execution on the device /opt/monero/xmr-stak-nvidia/nvcc_code/cuda_extra.cu line 226

Bro how to do this all in windows, I'm having the same issue