gpufit / Gpufit

GPU-accelerated Levenberg-Marquardt curve fitting in CUDA
MIT License
312 stars 92 forks source link

Linux build succeeds but examples fail to run #89

Open cfsterpka opened 3 years ago

cfsterpka commented 3 years ago

Hi, I'm having an issue producing runable code from GPU fit after compilation. My build environment is as follows: OS: Ubuntu 20.04 x64 GPU device: NVIDIA GeForce GTX 1070 Mobile CUDA driver: 460.32.03 cmake 3.14.0 gcc: 5.5.0 (also tried 7.5.0 and 9.3.0)

The build procedure I am using is: cmake -DCMAKE_BUILD_TYPE=RELEASE -DUSE_CUBLAS=ON -DCUDA_ARCHITECTURES="8.0 8.6+PTX" -DCMAKE_C_COMPILER=gcc-5 -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-11.2 ../Gpufit make

(I modified the cmake file as described here to get cublas to work.)

The build succeeds, however when I try to run the examples via e.g. ./Simple_Example the result is:

terminate called after throwing an instance of 'std::runtime_error' what(): no kernel image is available for execution on the device Aborted (core dumped)

I have no problems running other cuda code compiled via nvcc. Thanks, Chris

jkfindeisen commented 3 years ago

I cannot reproduce the problem. For me, the examples run just fine. Just googled "no kernel image is available for execution on the device" and got https://stackoverflow.com/questions/55538036/cuda-nvcc-no-kernel-image-is-available-for-execution-on-the-device-what-is.

I always use CUDA_ARCHITECTURES=All. Maybe you could try with that?