Need help with runtime error "libgomp: target function wasn't mapped"

Patrick Begou Patrick.Begou@univ-grenoble-alpes.fr
Wed Jun 5 16:43:39 GMT 2024


Hi,

I need some help to understand a runtime error with an OpenACC fortran 
code built with Gnu Fortran.

- My gfortran is from the git repository, branch devel/omp/gcc-13,  
updated today.
- it is built with cuda: /opt/nvidia/hpc_sdk/Linux_x86_64/24.3/cuda/ 
(from Nvidia RPM)
- binutils is 2.42

Building and running a small application works:

    - creating storage on the device in a subroutine,
    - initializing the data with different values on the host and on the
    device in the main application,
    - checking data on the host and on the device in the main application

Building my large application is successful but when running it, it ends 
quickly with "*libgomp: target function wasn't mapped*". it is an 
openMPI application but for this test I use only one process:

  mpirun -n 1 ./appp.exe

If I set GOMP_DEBUG=1 I get more messages and I think they show that 
some data is offloaded before the error. But I do not understand how to 
investigate such error. Details are provided below:

    goacc_profiling_initialize: calling acc_register_library
    dummy acc_register_library
    GOMP_NVPTX_LOWLAT_POOL: <Not defined>

    /* messages printed from my application removed */

    libgomp: target function wasn't mapped
    nvptx_run_deferred_page_locked_host_free
    gomp_attach_pointer: attaching host 0x250b160, target 0x7fa76b20a800
    (struct base 0x7fa76b20a800) to 0x7fa76b20aa00
                 /* several similar messages removed */
    gomp_attach_pointer: attaching host 0x251db00, target 0x7fa76b20f400
    (struct base 0x7fa76b20f400) to 0x7fa76b20f600
    gomp_attach_pointer: attaching host 0x251e870, target 0x7fa76b20f800
    (struct base 0x7fa76b20f800) to 0x7fa76b20fa00
    gomp_attach_pointer: attaching host 0x251f5e0, target 0x7fa76b20fc00
    (struct base 0x7fa76b20fc00) to 0x7fa76b20fe00
    gomp_attach_pointer: attaching host 0x2520350, target 0x7fa76b210000
    (struct base 0x7fa76b210000) to 0x7fa76b210200
    GOACC_parallel_keyed: mapnum=11, hostaddrs=0x7ffcd9a731a0,
    size=0x7ffcd9a73140, kinds=0x7fa7bfd2daa0

    libgomp: target function wasn't mapped
    nvptx_run_deferred_page_locked_host_free


My application is a "main" program and a large library. Building static 
or dynamic library raise the same problem (I know there was some 
problems with olders binutils and static link)

So any help is welcome.

Patrick


More information about the Gcc-help mailing list