[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