Files
AeroPkg/assets/var/gnu/rocm/libraries/rocsolver.md

3.0 KiB

rocm/libraries/rocsolver 7.2.4

https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/rocsolver.tar.gz

HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode
HIP_PATH=/pkg/gnu
ROCM_PATH=/pkg/gnu

export HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode export HIP_PATH=/pkg/gnu export ROCM_PATH=/pkg/gnu

[root@xuy /pkg/gnu/rocm/libraries/rocsolver/src/build]$ export HIP_CLANG_PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin export ROCM_PATH=/pkg/gnu/rocm export HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode

echo '#include <hip/hip_runtime.h> #include <hip/hip_math_functions.h> global void test() { double x = sqrt(2.0); }' > /tmp/test_sqrt.hip

$HIP_CLANG_PATH/clang++
--rocm-path=$ROCM_PATH
--offload-arch=gfx1150
--rocm-device-lib-path=$HIP_DEVICE_LIB_PATH
-x hip -c /tmp/test_sqrt.hip -o /tmp/test_sqrt.o 2>&1

echo "Exit code: $?" /tmp/test_sqrt.hip:2:10: fatal error: 'hip/hip_math_functions.h' file not found 2 | #include <hip/hip_math_functions.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated when compiling for gfx1150. Exit code: 1

sed -i \
  -e '/#include "rocsolver_run_specialized_kernels.hpp"/a #include <algorithm>' \
  -e 's/\bmin(n, LARF_SSKER_BLOCKS)/std::min(n, LARF_SSKER_BLOCKS)/g' \
  /pkg/gnu/rocm/libraries/rocsolver/src/library/src/specialized/rocauxiliary_larf_specialized_kernels.hpp
sed -i \
  -e '/#include <algorithm>/d' \
  -e 's/std::min(n, LARF_SSKER_BLOCKS)/((n) < (LARF_SSKER_BLOCKS) ? (n) : (LARF_SSKER_BLOCKS))/g' \
  -e 's/\bmin(m, LARF_SSKER_BLOCKS)/((m) < (LARF_SSKER_BLOCKS) ? (m) : (LARF_SSKER_BLOCKS))/g' \
  /pkg/gnu/rocm/libraries/rocsolver/src/library/src/specialized/rocauxiliary_larf_specialized_kernels.hpp

grep -n -E '(#include |std::min(n, LARF_SSKER_BLOCKS))'
/pkg/gnu/rocm/libraries/rocsolver/src/library/src/specialized/rocauxiliary_larf_specialized_kernels.hpp

mkdir -p build; cd build
cmake .. \
  -DCMAKE_INSTALL_PREFIX=/pkg/gnu/rocm/libraries/rocsolver \
  -DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/bin/amdclang \
  -DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/bin/clang++ \
  -DAMDDeviceLibs_DIR=/pkg/gnu/rocm/llvm/amd/device-libs/lib/cmake/AMDDeviceLibs \
  -Damd_comgr_DIR=/pkg/gnu/rocm/llvm/amd/comgr/lib/cmake/amd_comgr \
  -DCMAKE_CXX_FLAGS="--rocm-device-lib-path=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode -fuse-ld=lld" \
  -Dhsa-runtime64_DIR=/pkg/gnu/rocm/systems/rocr-runtime/lib/cmake/hsa-runtime64 \
  -DGPU_TARGETS="gfx1150"
cmake --build . -j$(nproc)
cmake --install .
rocm/libraries/rocprim

-DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc
-DCMAKE_CXX_FLAGS="--rocm-device-lib-path=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode -fuse-ld=lld" \

-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \