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.