Loading RTLs for other architectures

Hi,
Is there a way to avoid loading RTLs for aarch64 and x86_64, as I am
executing my app on PowerPC?

[…]
Libomptarget → Loading RTLs…
Libomptarget → Loading library ‘libomptarget.rtl.ppc64.so’…
Libomptarget → Successfully loaded library ‘libomptarget.rtl.ppc64.so’!
Libomptarget → Registering RTL libomptarget.rtl.ppc64.so supporting 4 devices!
Libomptarget → Loading library ‘libomptarget.rtl.x86_64.so’…
Libomptarget → Unable to load library ‘libomptarget.rtl.x86_64.so’: libomptarget.rtl.x86_64.so: cannot open shared object file: No such file or directory!
Libomptarget → Loading library ‘libomptarget.rtl.cuda.so’…
Target CUDA RTL → Start initializing CUDA
==82963== NVPROF is profiling process 82963, command: /p/project/cpcp0/pcp0151/opt/nest-clang-offload/bin/nest debug.sli
Libomptarget → Successfully loaded library ‘libomptarget.rtl.cuda.so’!
Libomptarget → Registering RTL libomptarget.rtl.cuda.so supporting 1 devices!
Libomptarget → Loading library ‘libomptarget.rtl.aarch64.so’…
Libomptarget → Unable to load library ‘libomptarget.rtl.aarch64.so’: libomptarget.rtl.aarch64.so: cannot open shared object file: No such file or directory!
Libomptarget → RTLs loaded!

[…]

Hi Itaru,

as far as I can tell, libomptarget only tries to load these libraries, but will not actually load them, because they are not present on your system. The RTLs for the architectures other than CUDA and POWER are not built during compilation of libomptarget.

If you still want to get rid of this behavior, you can probably remove the other RTLs from

static const char *RTLNames[] = ...

in line 24ff. in file /openmp/libomptarget/src/rtl.cpp and stop libomptarget from trying to load this libraries.

Best,

Lukas

Lukas,

I’ll then let it as is given the behavior is expected.