no kernel image is available for the execution on this device

i am getting this error while running an application
no kernel image is available for the execution on this device
i want to mine coins using nvidia graphic card so please in solving this error

Find the compute capability of your GPU device. You can use deviceQuery to do this.

Once you know the compute capability, make sure you are compiling the code for that compute capability.

I just installed the latest CUDA 10 to run with VS 2017 and even the very simple addWithCuda Kernel compiles correctly, when I execute the program, it reports this error "no kernel image is available for execution this this device.

My computer has a GeForce GTX 860M (driver version 411.31), with reported compute capability of 3.0. Is this compute capability enough for CUDA 10?

CUDA 10 supports GPUs with compute capability >= 3.0, and the default target architecture for builds with nvcc is sm_30 (see:

According to Wikipedia, there are two different versions of the Geforce GTX 860M: One is based on Kepler GK104, the other is based on Maxwell GM107. NVIDIA’s website is less clear and just lists two sets of CUDA core counts and core clock frequencies for this SKU.

If your card is Maxwell based, and the binary provides machine code only for Kepler, and contains no PTX for JIT compilation, there will be no matching image that can be loaded at run time, as different GPU architectures lack binary compatibility.

Try whether specifying compute capability 5.0 as the build target fixes the issue. Or just build a fat binary that contains both sm_30 and sm_50 machine code, plus PTX for compute_50.