I am trying to compile ccminer to work with a GPU that has compute capability 3.5.

When I compile with the default nvcc_ARCH (compute capability 5.0 + 5.2), the code compiles but when I try to benchmark ./ccminer --benchmark I get the following error:

Cuda error in func 'quark_blake512_cpu_setBlock_80' at line 815 : invalid device symbol.

For what I have been able to figure out, this error is related to compute capability errors, and that is why I tried changing the setting in the makefile.

I have changed Makefile.am accordingly so that nvcc_ARCH matches only the 3.5 capability (only 3.5), and I get this error:

ptxas /tmp/tmpxft_000015a2_00000000-6_cuda_x11_echo.ptx, line 10165; error : Instruction 'lop3' requires .target sm_50 or higher

I have also tried maintaining the original nvcc_ARCH (5.0 and 5.2) and appending the 3.5 line (+), and this is the error I get:

ptxas /tmp/tmpxft_00006277_00000000-6_cuda_x11_echo.compute_35.ptx, line 9182; error : Instruction 'lop3' requires .target sm_50 or higher

With all 4 lines of nvcc_ARCH uncommented, this is the error I get when compiling:

Algo256/cuda_bmw256.cu(337): error: identifier "__ldg" is undefined

What am I missing here? Am I trying to do this the wrong way? Is this problem not related with ccminer and I am looking at the wrong place?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.