Update to use new bitcode library structure

Rather than manually linking to the device libraries, the compiler
can now handle linking with them. Allow the build to continue using
old layout if the build system still uses it. Therefore maintain
compatibility with ROCm 3.7 and earlier.

Change-Id: Ida81775da3d0f7c2c67386a71cb057ede31a1545
This commit is contained in:
Aaron Enye Shi
2020-07-13 13:56:25 -04:00
parent f6e6eae86d
commit d23b26f760
5 changed files with 107 additions and 57 deletions
+9 -9
View File
@@ -25,14 +25,14 @@ To add a new supported device, the following steps are required:
In order to create the code object file, the bitcodes of the kernels are
generated by the compiler and the following bitcode libraries are required,
opencl.amdgcn.bc
ocml.amdgcn.bc
irif.amdgcn.bc
oclc_correctly_rounded_sqrt_off.amdgcn.bc
oclc_daz_opt_on.amdgcn.bc
oclc_finite_only_off.amdgcn.bc
oclc_isa_version_<GFXIP>.amdgcn.bc
oclc_unsafe_math_off.amdgcn.bc
opencl.bc
ocml.bc
irif.bc
oclc_correctly_rounded_sqrt_off.bc
oclc_daz_opt_on.bc
oclc_finite_only_off.bc
oclc_isa_version_<GFXIP>.bc
oclc_unsafe_math_off.bc
where <GFXIP> is the gfxip number of the GPU. The directory contains the
bitcode libraries is specified in a CMake varaible.
@@ -43,7 +43,7 @@ object file. All of them have default values, and defined as following:
OPENCL_DIR - the location of installed OpenCL
(Default: /opt/rocm/opencl)
BITCODE_DIR - the directory contains the bitcode library
(Default: ${OPENCL_DIR}/lib/x86_64/bitcode)
(Default: /opt/rocm/amdgcn/bitcode)
LLVM_DIR - the directory contains the clang, llvm-link and llvm-dis
executables
(Default: ${PROJECT_BUILD_DIR}/../lightning/bin)