Hello
I’m trying to using OpenACC offloading to NVIDIA(with CUDA).
I downloaded sample code from CUDACast#3 in Youtube.
(cudacasts/ep3-first-openacc-program at master · NVIDIA-developer-blog/cudacasts · GitHub)
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)
(cuModuleLoadData error 209)
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 $