Fatal error: Registered function 'nvkernel_bc_omp__F1L2563_13_' not found in the CUBIN, error 1

Hi,

We tried to run an OpenMP GPU offloading code on a GTX system which having AMD EPYC 64 cores and A100-SXM4 Gpus. The code can be run on other systems using hpc-sdk. On the system we get error likes

Fatal error: Registered function 'nvkernel_bc_omp__F1L2563_13_' not found in the CUBIN, error 1

Same error occurs even the calling subroutine is commented out
! call bc_omp()

We should to comment out the entire subroutine definition but then get similar error for another subroutine

The file including this subroutine with OpenMP directives was compiled with flas “-Mipa=acc”, since the file call other subroutines with “!$OMP DECLARE TARGET”. Could that be an issue?

Thanks. /Jing

Possibly.

I believe we’re still in the process of adding back support for IPA into the new LLVM compilers, so the “-Mipa=acc” flag isn’t actually doing anything.

Are you relying on this flag to create the device definition of “bm_omp” for you? Can you add the “OMP DECLARE TARGET” directive to the routine?

-Mat

Hi Mats,

so the “-Mipa=acc” flag isn’t actually doing anything.

Sorry, I forgot to mention that this a fortran code. Actually this flag was introduced by you for an openacc code few years ago. It does not needed for OpenACC codes but it seems to make sense for openmp fortran code. If the flag is not added, there are compiling errors likes

NVFORTRAN-S-1073-Procedures called in a OpenMP target region must have 'omp declare target' information - uchk_omp (/p/home/core/boundary.f: 2425)
NVFORTRAN-S-0155-Accelerator region ignored; see -Minfo messages  (/p/home/core/bounary.f)

The subroutine “uchk_omp” is defined in the other file and already set " “OMP DECLARE TARGET”

Are you relying on this flag to create the device definition of “bc_omp” for you?
The subroutine bm_omp only includes the OpenMP directive. and it works for other A100 system but not for the GTX system. Even add “!$OMP DECLARE TARGET”, there still is same error.

Thanks. /Jing