Nvc++ 23.7 crash with Kokkos OpenMP-target backend

Hi there,

I am working with pledac on the TRUST project. We experience a nvc++ compiler crash (“TERMINATED by signal 11”) when trying to use the OpenMP target backend from the Kokkos library.
Could you help ?

Here are the steps to reproduce:

This results in a crash of the compiler on file Op_Div_VEFP1B_Elem.cpp.o which contains a very simple Kokkos kernel around line 170.

Do you see a way around this? To give some background: we are trying to compare the performances that we get between the Cuda backend and the OpenMP-target backend of Kokkos.
Thanks a lot in advance for any help you might give!

Hi adrien,bruneton1,

Thanks for the report and the detailed reproducer. I was able to reproduce the issue and have filed a problem report, TPR #34283, We’ll have engineering investigate.

Do you see a way around this?

Unfortunately no. It seems it’s calls to “view_ro” that’s triggering the error but I’m not sure what or if modification to those would work around the issue.

Note that I tried compiling other examples that use Kokkos OpenMP offload, but they compiled successfully. The compiler error seems to be triggered by your specific use, but I’ll need a compiler engineer to investigate the root cause.