'No binary for GPU' error uccured from CUDACAST#3 sample

Hello

I’m trying to using OpenACC offloading to NVIDIA(with CUDA).
I downloaded sample code from CUDACast#3 in Youtube.
(https://github.com/parallel-forall/cudacasts/tree/master/ep3-first-openacc-program)

I compiled the code with pgcc compiler.
: $ pgcc -acc -Minfo=accel -ta=nvidia,cuda7.0 -o laplace2d_acc laplace2d.c

But after run, I faced error message below
: call to cuModuleLoadData returned error 209: No binary for GPU

I found someone who faced similar error, so I changed ‘double’ to ‘float’.
But error uccur still…
(and I HAVE TO WORK IN UBUNTU)
(https://forums.developer.nvidia.com/t/cumoduleloaddata-error-209/134174/1)


I installed cuda7.0. And I checked it works through example (deviceQuery).


What do I have to now?? I need your help.


This is my desktop spec.

  • Intel x86_64
  • Ubuntu 14.04.2 LTS
  • NVIDIA GeForce GTX 960 (CUDA Capability number : 5.2)
  • installed CUDA : CUDA 7.0
  • compiler : /opt/pgi/linux86-64/15.4 (TRIAL LICENSE)

This is compile and run log.

openacc_test $ pgcc -acc -Minfo=accel -o laplace2d_acc laplace2d.c
main:
49, Generating copy(A[:][:])
Generating create(Anew[:][:])
55, Generating Tesla code
56, Loop carried scalar dependence for error_num at line 62
Scalar last value needed after loop for error_num at line 76
Accelerator restriction: scalar variable live-out from loop: error_num
Accelerator scalar kernel generated
58, Loop carried scalar dependence for error_num at line 62
Scalar last value needed after loop for error_num at line 76
Accelerator restriction: scalar variable live-out from loop: error_num
67, Generating Tesla code
68, Loop is parallelizable
70, Loop is parallelizable
Accelerator kernel generated
68, #pragma acc loop gang /* blockIdx.y /
70, #pragma acc loop gang, vector(128) /
blockIdx.x threadIdx.x */
openacc_test $ ./laplace2d_acc
Jacobi relaxation Calculation: 4096 x 4096 mesh
call to cuModuleLoadData returned error 209: No binary for GPU
openacc_test $

Hi soongk.lee,

The problem here is that you’re using a GTX 960. This card uses the Maxwell architecture (compute capability 5.2). Since we officially only support the NVIDIA Tesla product line and Tesla doesn’t have a Maxwell based product, we didn’t produce device code capable of running on a Maxwell.

However, we had enough folks using Maxwell so we went ahead and started adding support in our recent 15.7 release.

Which version of the compiler are you using? Can you try using 15.7?

  • Mat

Thank you mkclog.

I compiled the code with 15.7 version, and It works!
(I used 15.4 version when I had trouble.)

Thank you very much :)