All,
the HPC SDK Version 21.2 ships with omp-tools.h.
/opt/nvidia/hpc_sdk/Linux_x86_64/21.2/cuda/11.2/extras/CUPTI/include/Openmp/omp-tools.h
This header should IMO be usable (#include <omp-tools.h>) with nvc and nvc++ if the OpenMP compiler switch -mp or -fopenmp is used. Although I get the error:
catastrophic error: cannot open source file "omp-tools.h"
My question, does HPC SDK Version 21.2 support OMPT, and if yes, how is it supposed to work?
Thanks,
Christian
Hi Christian,
It’s unclear why you’d be getting this error since the compiler should be picking up the “omp-tools.h” that’s in the compiler include directory “/opt/nvidia/hpc_sdk/Linux_x86_64/21.2/compiler/include”.
Note that we don’t have full support for the OpenMP tools API in the compiler OpenMP runtime as of yet since it still in development.
If your intent is to use the CUPTI “omp-tools.h”, then you’d want to add “-I/opt/nvidia/hpc_sdk/Linux_x86_64/21.2/cuda/11.2/extras/CUPTI/include/Openmp/” so the include path is added to the compilation. However, this interface would be used by the CUPTI library not the compiler’s OpenMP runtime library.
-Mat
Hi Mat,
I don’t want to use the CUPTI one but the one that comes with the compiler. It turns out that the compiler doesn’t ship it. My installation contains just one omp-tools.h file:
$ find /opt/nvidia/hpc_sdk/Linux_x86_64 -name "omp-tools.h"
/opt/nvidia/hpc_sdk/Linux_x86_64/21.2/cuda/11.2/extras/CUPTI/include/Openmp/omp-tools.h
I installed into an ubuntu20.04 docker container following this installation instructions:
$ wget https://developer.download.nvidia.com/hpc-sdk/21.2/nvhpc-21-2_21.2_amd64.deb https://developer.download.nvidia.com/hpc-sdk/21.2/nvhpc-2021_21.2_amd64.deb
$ apt-get install ./nvhpc-21-2_21.2_amd64.deb ./nvhpc-2021_21.2_amd64.deb
nvhpc-21-2_21.2_amd64.deb
contains just one omp-tools.h
file:
$ dpkg -c nvhpc-21-2_21.2_amd64.deb | grep omp-tools
-rwxr-xr-x root/root 37403 2021-02-15 21:01 ./opt/nvidia/hpc_sdk/Linux_x86_64/21.2/cuda/11.2/extras/CUPTI/include/Openmp/omp-tools.h
$ dpkg -L nvhpc-21-2 | grep omp-tools.h
/opt/nvidia/hpc_sdk/Linux_x86_64/21.2/cuda/11.2/extras/CUPTI/include/Openmp/omp-tools.h
Maybe some packaging error?
Christian
No, this was my mistake. I was looking at our internal 21.2 which has the include file. However it gets scrubbed from the final external package since we don’t support OpenMP tools as of yet. Apologies for the confusion.
-Mat
Thanks for the clarification. It would be nice to see OMPT support in one of the next releases though.
Christian
Unfortunately we don’t have an estimated time when OMPT will be available. Right now the OpenMP team is focused on hardening the Target Offload support so the OMPT work needed to be put on hold. Though I’ll let the team know that you’re looking for it and hopefully they can can get back to it in the near future.