[all-commits] [llvm/llvm-project] 1a9657: [libomptarget][amdgpu] Implement dlopen of libhsa
Jon Chesterfield via All-commits
all-commits at lists.llvm.org
Thu Jul 22 08:54:34 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1a965706219efd40c7e2548e317311266187bb09
https://github.com/llvm/llvm-project/commit/1a965706219efd40c7e2548e317311266187bb09
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2021-07-22 (Thu, 22 Jul 2021)
Changed paths:
M openmp/libomptarget/plugins/amdgpu/CMakeLists.txt
A openmp/libomptarget/plugins/amdgpu/dynamic_hsa/hsa.cpp
A openmp/libomptarget/plugins/amdgpu/dynamic_hsa/hsa.h
A openmp/libomptarget/plugins/amdgpu/dynamic_hsa/hsa_ext_amd.h
Log Message:
-----------
[libomptarget][amdgpu] Implement dlopen of libhsa
AMDGPU plugin equivalent of D95155, build without HSA installed locally
Compiles a new file, plugins/amdgpu/dynamic_hsa/hsa.cpp, to an object file that
exposes the same symbols that the plugin presently uses from hsa. The object
file contains dlopen of hsa and cached dlsym calls. Also provides header files
corresponding to the subset that is used.
This is behind a feature flag, LIBOMPTARGET_FORCE_DLOPEN_LIBHSA, default off.
That allows developers to build against the dlopen/dlsym implementation, e.g.
while testing this mode.
Enabling by default will cause this plugin to build on a wider variety of
machines than it does at present so may break some CI builds. That risk can
be minimised by reviewing the header dependencies of the library and ensuring
it doesn't use any libraries that are not already used by libomptarget.
Separating the implementation from enabling by default in case the latter needs
to be rolled back after wider CI results.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D106559
More information about the All-commits
mailing list