NVIDIA GPU language support

In addition to the native nvcc compiler, a number of other compilers are supported.

Note

Debugging of OpenCL is not supported on the device.

Cray OpenACC

Cray OpenACC is fully supported. Code pragmas are highlighted, most variables are visible within the device, and stepping and breakpoints in the GPU code are supported. The compiler flag -g is required for enabling device (GPU-based) debugging.

These are currently known issues:

  • It is not possible to track GPU allocations created by the Cray OpenACC compiler as it does not directly call cudaMalloc.

  • Pointers in accelerator code cannot be dereferenced in CCE 8.0.

  • Memory consumption in debugging mode can be considerably higher than regular mode. If issues with memory exhaustion arise, consider using the environment variable CRAY_ACC_MALLOC_HEAPSIZE to set total heap size (bytes) used on the device, which can make more memory available to the program.

NVIDIA HPC OpenACC and CUDA Fortran

Linaro DDT supports debugging both the host and CUDA parts of NVIDIA HPC OpenACC and CUDA Fortran programs when compiled with the NVIDIA HPC compiler.

For information about currently supported software versions, see Reference table.