I am trying to use OpenMP to offload fortran code to a nvidia GPU using the Nvidia HPC SDK (High Performance Computing (HPC) SDK | NVIDIA) and its nvfortran compiler.
The documentation (HPC Compilers User's Guide Version 22.1 for ARM, OpenPower, x86) for the current version states that to use the GPU features, you must have a GPU with compute capability greater than 7.0 (V100 generation of GPUs)/ My GPU has Compute capability of 6.1. Is there a way to get the compiler to make use of my older GPU (Quadro P2200)?
Compiler error message :
~/source/arunprasaada/Youtube_Tutorials/Fortran_OpenMP/Hello$ nvfortran ./arr_add.f95 -mp=gpu nvfortran-Fatal-OpenMP GPU Offload is available only on systems with NVIDIA GPUs with compute capability '>= cc70'
Quote from the documentation:
Use the -mp compiler switch to enable processing of OpenMP directives and pragmas. The most important sub-options to -mp are the following:
- gpu: OpenMP directives are compiled for GPU execution plus multicore CPU fallback; this feature is supported on NVIDIA V100 or later GPUs.
- multicore: OpenMP directives are compiled for multicore CPU execution only; this sub-option is the default.
Are there other approaches for compiling fortran which can use OpenMP + Fortran to offload to GPUs that would support my gpu? I am hoping not to have to buy a newer GPU in this time of crazy prices and low supply.