pkg download command and patches

This commit is contained in:
2026-09-10 16:59:11 +03:00
parent c6dcbc1ca5
commit 60cf4a2523
110 changed files with 1588 additions and 332 deletions

View File

@ -1,28 +1,17 @@
hipblas 7.2.4
rocm/libraries/hipblas 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/hipblas.tar.gz
``` env *** env ***
HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode
HIP_PATH=/pkg/gnu
ROCM_PATH=/pkg/gnu
```
``` sh *** build ***
mkdir -p build; cd build
LDFLAGS="-L/pkg/gnu/rocm/systems/rocr-runtime/lib \
-L/pkg/gnu/rocm/llvm/amd/comgr/lib \
-L/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-L/pkg/gnu/rocm/systems/clr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocr-runtime/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/llvm/amd/comgr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/clr/lib" \
LIBRARY_PATH="/pkg/gnu/rocm/systems/rocr-runtime/lib:\
/pkg/gnu/rocm/llvm/amd/comgr/lib:\
/pkg/gnu/rocm/systems/rocprofiler-register/lib:\
/pkg/gnu/rocm/systems/clr/lib" \
HIP_CLANG_PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin \
ROCM_PATH=/pkg/gnu/rocm/systems/clr \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin:/pkg/gnu/rocm/systems/clr/bin:$PATH \
cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH=/pkg/gnu/rocm/libraries/hipblas \
-DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/rocm/libraries/hipblas \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \
-DCMAKE_CXX_FLAGS="--rocm-device-lib-path=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode -fuse-ld=lld" \
@ -30,8 +19,7 @@ cmake .. \
-Damd_comgr_DIR=/pkg/gnu/rocm/llvm/amd/comgr/lib/cmake/amd_comgr \
-Dhsa-runtime64_DIR=/pkg/gnu/rocm/systems/rocr-runtime/lib/cmake/hsa-runtime64 \
-DGPU_TARGETS="gfx1150" \
-DBUILD_CLIENTS=OFF \
-LH
-DBUILD_WITH_SOLVER=OFF
cmake --build . -j$(nproc)
cmake --install .
```
@ -43,6 +31,6 @@ rocm/llvm/amd/hipcc
rocm/systems/clr
rocm/systems/rocr-runtime
rocm/libraries/hipblas-common
rocm/libraries/rocblas
```
rocblas ?
rocm/libraries/rocsolver

View File

@ -1,37 +1,48 @@
hipblaslt 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/hipblaslt.tar.gz
https://github.com/ROCm/rocm-libraries/archive/refs/tags/rocm-7.2.4.tar.gz
``` env *** env ***
HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode
HIP_PATH=/pkg/gnu
```
``` sh *** patch ***
sed -i '
/# make class look like dict/,/return self._state\[key\]/ {
/def keys(self):/!d
/def keys(self):/a\ return self._state.keys()
}
/self._state\[key\] = value/a\
\
def __getitem__(self, key):\
return self._state[key]\
\
def __iter__(self):\
return iter(self._state)\
\
def __len__(self):\
return len(self._state)
' projects/hipblaslt/tensilelite/Tensile/SolutionStructs/Solution.py
```
``` sh *** build ***
mkdir -p build; cd build
LDFLAGS="-L/pkg/gnu/rocm/systems/rocr-runtime/lib \
-L/pkg/gnu/rocm/llvm/amd/comgr/lib \
-L/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-L/pkg/gnu/rocm/systems/clr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocr-runtime/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/llvm/amd/comgr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/clr/lib" \
LIBRARY_PATH="/pkg/gnu/rocm/systems/rocr-runtime/lib:\
/pkg/gnu/rocm/llvm/amd/comgr/lib:\
/pkg/gnu/rocm/systems/rocprofiler-register/lib:\
/pkg/gnu/rocm/systems/clr/lib" \
HIP_CLANG_PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin \
ROCM_PATH=/pkg/gnu/rocm/systems/clr \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin:/pkg/gnu/rocm/systems/clr/bin:$PATH \
cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH=/pkg/gnu/rocm/libraries/hipblaslt \
-DCMAKE_PREFIX_PATH="/pkg/gnu/rocm/llvm/amd/device-libs;/pkg/gnu/rocm/systems/clr;/pkg/gnu/rocm/systems/rocr-runtime;/pkg/gnu/rocm/llvm/amd/comgr;/pkg/gnu/rocm/systems/rocprofiler-register" \
/pkg/gnu/python3/bin/python3 -m pip install packaging joblib pyyaml msgpack
cmake ../projects/hipblaslt \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/rocm/libraries/hipblaslt \
-Dhipblas-common_DIR=/pkg/gnu/rocm/libraries/hipblas-common/lib/cmake/hipblas-common \
-DGPU_TARGETS=gfx1150 \
-DBUILD_CLIENTS=OFF \
-DHIPBLASLT_ENABLE_BLIS=OFF \
-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_C_COMPILER=/pkg/gnu/rocm/llvm/bin/amdclang \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/bin/clang++ \
-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \
-DCMAKE_CXX_FLAGS="--rocm-device-lib-path=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode -fuse-ld=lld" \
-LH
-DPython3_EXECUTABLE=/pkg/gnu/python3/bin/python3 \
-DHIPBLASLT_ENABLE_LLVM=ON \
-DHIPBLASLT_ENABLE_ROCROLLER=OFF \
-DHIPBLASLT_ENABLE_SAMPLES=OFF \
-DHIPBLASLT_BUILD_TESTING=OFF \
-DTENSILELITE_ENABLE_AUTOBUILD=ON \
-DHIPBLASLT_ENABLE_CLIENT=OFF
cmake --build . -j$(nproc)
cmake --install .
```
@ -44,4 +55,5 @@ openblas
rocm/llvm/openmp
rocm/libraries/rocroller
msgpack-cxx
python3
```

View File

@ -1,38 +1,28 @@
rocm/libraries/rocblas 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/rocblas.tar.gz
https://github.com/ROCm/rocm-libraries/archive/refs/tags/rocm-7.2.4.tar.gz
``` env *** env ***
HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode
HIP_PATH=/pkg/gnu
ROCM_PATH=/pkg/gnu
```
``` sh *** build ***
mkdir -p build; cd build
LDFLAGS="-L/pkg/gnu/rocm/systems/rocr-runtime/lib \
-L/pkg/gnu/rocm/llvm/amd/comgr/lib \
-L/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-L/pkg/gnu/rocm/systems/clr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocr-runtime/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/llvm/amd/comgr/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/rocprofiler-register/lib \
-Wl,-rpath-link,/pkg/gnu/rocm/systems/clr/lib" \
LIBRARY_PATH="/pkg/gnu/rocm/systems/rocr-runtime/lib:\
/pkg/gnu/rocm/llvm/amd/comgr/lib:\
/pkg/gnu/rocm/systems/rocprofiler-register/lib:\
/pkg/gnu/rocm/systems/clr/lib" \
HIP_CLANG_PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin \
ROCM_PATH=/pkg/gnu/rocm/systems/clr \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin:/pkg/gnu/rocm/systems/clr/bin:$PATH \
cmake .. \
cmake ../projects/rocblas \
-DCMAKE_INSTALL_PREFIX:PATH=/pkg/gnu/rocm/libraries/rocblas \
-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_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \
-DCMAKE_CXX_FLAGS="--rocm-device-lib-path=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode -fuse-ld=lld" \
-DGPU_TARGETS="gfx1150" \
-DBUILD_CLIENTS=OFF \
-LH
-DBUILD_CLIENTS=OFF
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/libraries/hipblaslt
msgpack-cxx
```

View File

@ -0,0 +1,24 @@
rocm/libraries/rocprim 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/rocprim.tar.gz
``` env *** env ***
HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode
HIP_PATH=/pkg/gnu
ROCM_PATH=/pkg/gnu
```
``` sh *** build ***
mkdir -p build; cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/rocm/libraries/rocprim \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \
-DCMAKE_CXX_FLAGS="--rocm-device-lib-path=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode -fuse-ld=lld" \
-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 \
-Dhsa-runtime64_DIR=/pkg/gnu/rocm/systems/rocr-runtime/lib/cmake/hsa-runtime64 \
-DGPU_TARGETS="gfx1150"
cmake --build . -j$(nproc)
cmake --install .
```

View File

@ -2,30 +2,30 @@ rocm/libraries/rocroller 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/rocroller.tar.gz
```
cp /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp.bkp
cp -f /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp.bkp /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp
sed -i 's/return val == 0;/return val == static_cast<T>(0);/g' \
/pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp
# 1. Восстанавливаем оригинал
cp -f /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp.bkp \
/pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp
# 2. Применяем исправленный патч
# Заменяем "return val == 0;" на "return val == T{};"
# T{} для арифметических типов = 0, для __half = __half(), для E8M0 = E8M0() (default ctor)
sed -i 's/return val == 0;/return val == T{};/g' \
/pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp
``` env *** env ***
HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode
HIP_PATH=/pkg/gnu/rocm/systems/clr
```
``` sh *** patch ***
sed -i '1i\#include <cstring>' /pkg/gnu/rocm/libraries/rocroller/src/lib/source/DataTypes_Utils.cpp
sed -i 's/return val == 0;/return val == T{};/g' /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp
sed -i '/template <>$/,/^ }$/{
/inline void EmitterOutput::output(Raw32& obj)/,/^ }$/{
/^ }$/a\
\
template <>\
inline void EmitterOutput::output(__half\& obj)\
{\
*emitter << static_cast<float>(obj);\
}
}
}' /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/Serialization/yaml-cpp/YAML.hpp
```
``` sh *** build ***
mkdir -p build; cd build
HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
CC=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang \
CXX=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH=/pkg/gnu/rocm/libraries/rocroller \
-DCMAKE_BUILD_TYPE=Release \
@ -34,11 +34,7 @@ cmake .. \
-DGPU_BUILD_TARGETS=gfx1150 \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
-DCMAKE_LINKER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/ld.lld \
-DCMAKE_CXX_FLAGS="-fuse-ld=lld -Wno-deprecated-declarations"
CC=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang \
CXX=/pkg/gnu/rocm/llvm/amd/hipcc/bin/hipcc \
HIP_DEVICE_LIB_PATH=/pkg/gnu/rocm/llvm/amd/device-libs/amdgcn/bitcode \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
-DCMAKE_CXX_FLAGS="-fuse-ld=lld"
cmake --build . -j$(nproc)
cmake --install .
```
@ -51,118 +47,3 @@ libdivide
yaml-cpp
msgpack-cxx
```
sed -i '/inline bool Value::isZeroLiteral() const/,/^ }$/{
/inline bool Value::isZeroLiteral() const/,/^ }$/c\
inline bool Value::isZeroLiteral() const\
{\
if(m_regType != Type::Literal)\
return false;\
\
return std::visit(\
[](auto const& val) -> bool {\
using T = std::decay_t<decltype(val)>;\
if constexpr(std::is_same_v<T, Raw32>)\
return static_cast<uint32_t>(val) == 0;\
else if constexpr(std::is_same_v<T, Buffer>)\
return val.desc0 == 0 && val.desc1 == 0 && val.desc2 == 0 && val.desc3 == 0;\
else if constexpr(std::is_integral_v<T>)\
return val == 0;\
else if constexpr(std::is_floating_point_v<T> || std::is_same_v<T, __half>)\
return val == static_cast<T>(0);\
else\
return false;\
},\
m_literalValue);\
}
}' Register_impl.hpp
sed -i '/inline bool Value::isZeroLiteral() const/,/^ }$/{
/inline bool Value::isZeroLiteral() const/,/^ }$/c\
inline bool Value::isZeroLiteral() const\
{\
if(m_regType != Type::Literal)\
return false;\
\
return std::visit(\
[](auto const& val) -> bool {\
using T = std::decay_t<decltype(val)>;\
if constexpr(std::is_same_v<T, Raw32>)\
return static_cast<uint32_t>(val) == 0;\
else if constexpr(std::is_same_v<T, Buffer>)\
return val.desc0 == 0 && val.desc1 == 0 && val.desc2 == 0 && val.desc3 == 0;\
else if constexpr(std::is_arithmetic_v<T> || std::is_same_v<T, __half>)\
return val == T{0};\
else\
return false;\
},\
m_literalValue);\
}
}' Register_impl.hpp
-DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang \
-DCMAKE_CXX_FLAGS="-fuse-ld=lld -stdlib=libc++"
sed -i 's/return val == static_cast<T>(0);/if constexpr(std::is_same_v<T, rocRoller::E8M0>) return false; else return val == static_cast<T>(0);/g' Register_impl.hpp
sed -i '/return val == static_cast<T>(0);/c\
else if constexpr(std::is_arithmetic_v<T> || std::is_same_v<T, __half>)\
return val == static_cast<T>(0);\
else\
return false;' Register_impl.hpp
sed -i '/inline bool Value::isZeroLiteral/,/^ }$/c\
inline bool Value::isZeroLiteral() const\
{\
if(m_regType != Type::Literal)\
return false;\
\
return std::visit(\
[](auto const& val) -> bool {\
using T = std::decay_t<decltype(val)>;\
if constexpr(std::is_same_v<T, Raw32>)\
return static_cast<uint32_t>(val) == 0;\
else if constexpr(std::is_same_v<T, Buffer>)\
return val.desc0 == 0 && val.desc1 == 0 && val.desc2 == 0 && val.desc3 == 0;\
else if constexpr(std::is_arithmetic_v<T> || std::is_same_v<T, __half>\
|| std::is_same_v<T, rocRoller::BFloat16>\
|| std::is_same_v<T, rocRoller::FP8>\
|| std::is_same_v<T, rocRoller::BF8>\
|| std::is_same_v<T, rocRoller::FP6>\
|| std::is_same_v<T, rocRoller::BF6>\
|| std::is_same_v<T, rocRoller::FP4>\
|| std::is_same_v<T, rocRoller::E8M0>)\
return val == static_cast<T>(0);\
else\
return false;\
},\
m_literalValue);\
}' Register_impl.hpp
sed -i '/return std::visit(/,/m_literalValue);/{
s/return static_cast<float>(val) == 0.0f;/using T = std::decay_t<decltype(val)>;\
if constexpr(std::is_same_v<T, Raw32>)\
return static_cast<uint32_t>(val) == 0;\
else if constexpr(std::is_same_v<T, Buffer>)\
return val.desc0 == 0 \&\& val.desc1 == 0 \&\& val.desc2 == 0 \&\& val.desc3 == 0;\
else if constexpr(std::is_arithmetic_v<T>)\
return val == decltype(val)(0);\
else\
return false;/
}' /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp
sed -i '/return std::visit(/,/m_literalValue);/{
s/return val == 0;/using T = std::decay_t<decltype(val)>;\
if constexpr(std::is_same_v<T, Raw32>)\
return static_cast<uint32_t>(val) == 0;\
else if constexpr(std::is_same_v<T, Buffer>)\
return val.desc0 == 0 \&\& val.desc1 == 0 \&\& val.desc2 == 0 \&\& val.desc3 == 0;\
else if constexpr(std::is_same_v<T, __half>)\
return static_cast<float>(val) == 0.0f;\
else if constexpr(std::is_arithmetic_v<T>)\
return val == 0;\
else\
return false;/
}' /pkg/gnu/rocm/libraries/rocroller/src/lib/include/rocRoller/InstructionValues/Register_impl.hpp

View File

@ -0,0 +1,77 @@
rocm/libraries/rocsolver 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/rocsolver.tar.gz
``` env *** env ***
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
``` sh *** patch ***
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 <algorithm>|std::min\(n, LARF_SSKER_BLOCKS\))' \
/pkg/gnu/rocm/libraries/rocsolver/src/library/src/specialized/rocauxiliary_larf_specialized_kernels.hpp
``` sh *** build ***
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 .
```
``` cfg *** build deps ***
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 \

View File

@ -1,12 +1,47 @@
rocm/llvm 7.2.4
=
https://github.com/ROCm/llvm-project/archive/refs/tags/therock-7.14.tar.gz
https://github.com/ROCm/llvm-project/archive/refs/tags/rocm-7.2.4.tar.gz
``` env *** env ***
disable=true
``` sh *** build ***
mkdir -p build; cd build
cmake ../llvm \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_TARGETS_TO_BUILD="AMDGPU;X86" \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_ENABLE_RUNTIMES="compiler-rt" \
-DCLANG_DEFAULT_RTLIB=compiler-rt \
-DCLANG_DEFAULT_UNWINDLIB=libgcc \
-DLLVM_ENABLE_LLD=ON
cmake --build . -j$(nproc)
cmake --install .
```
``` sh *** patch ***
``` sh *** tmp disable config ***
```
``` cfg *** build deps ***
boost
```
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DCLANG_INCLUDE_TESTS=OFF \
# patch
sed -i 's/^#define _fmaxd max$/#define _fmaxd fmax/; s/^#define _fmaxf max$/#define _fmaxf fmaxf/' lib/clang/22/include/__clang_cuda_complex_builtins.h
sed -i 's/^#define _fmaxd fmax$/#define _fmaxd __builtin_fmax/; s/^#define _fmaxf fmaxf$/#define _fmaxf __builtin_fmaxf/' \
/pkg/gnu/rocm/llvm/lib/clang/22/include/__clang_cuda_complex_builtins.h
# unpatch
sed -i 's/^#define _fmaxd __builtin_fmax$/#define _fmaxd max/; s/^#define _fmaxf __builtin_fmaxf$/#define _fmaxf max/' \
/pkg/gnu/rocm/llvm/lib/clang/22/include/__clang_cuda_complex_builtins.h
```
FILE=compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
sed -i 's|^#include <linux/scc.h>|#if __has_include(<linux/scc.h>)\n#include <linux/scc.h>\n#define SANITIZER_HAS_SCC_H 1\n#else\n#define SANITIZER_HAS_SCC_H 0\n#endif|' "$FILE"
sed -i '/unsigned struct_scc_modem_sz = sizeof(struct scc_modem);/c\
@ -22,26 +57,3 @@ sed -i '/unsigned struct_scc_stat_sz = sizeof(struct scc_stat);/c\
unsigned struct_scc_stat_sz = 0;\
#endif' "$FILE"
```
``` sh *** build ***
mkdir -p build; cd build
cmake ../llvm \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_TARGETS_TO_BUILD="AMDGPU;X86" \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_ENABLE_RUNTIMES="compiler-rt" \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DCLANG_INCLUDE_TESTS=OFF
cmake --build . -j$(nproc)
cmake --install .
```
``` sh *** config ***
sed -i 's/^#define _fmaxd max$/#define _fmaxd fmax/; s/^#define _fmaxf max$/#define _fmaxf fmaxf/' lib/clang/22/include/__clang_cuda_complex_builtins.h
sed -i 's/^#define _fmaxd fmax$/#define _fmaxd __builtin_fmax/; s/^#define _fmaxf fmaxf$/#define _fmaxf __builtin_fmaxf/' \
/pkg/gnu/rocm/llvm/lib/clang/22/include/__clang_cuda_complex_builtins.h
```

View File

@ -6,10 +6,13 @@ https://github.com/ROCm/llvm-project/archive/refs/tags/rocm-7.2.4.tar.gz
mkdir -p build
cd build
cmake ../amd/device-libs \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_INSTALL_PREFIX=/pkg/gnu/rocm/llvm/amd/device-libs \
-DCMAKE_BUILD_TYPE=Release \
-DROCmCMakeBuildTools_DIR=/pkg/gnu/rocm/cmake/share/rocmcmakebuildtools/cmake \
-DLLVM_DIR=/pkg/gnu/rocm/llvm/lib/cmake/llvm
-DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/bin/clang \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/bin/clang++ \
-DLLVM_DIR=/pkg/gnu/rocm/llvm/lib/cmake/llvm \
-DClang_DIR=/pkg/gnu/rocm/llvm/lib/cmake/clang \
-DROCmCMakeBuildTools_DIR=/pkg/gnu/rocm/cmake/share/rocmcmakebuildtools/cmake
cmake --build . -j$(nproc)
cmake --install .
```
@ -17,3 +20,10 @@ cmake --install .
``` cfg *** build deps ***
rocm/cmake
```
cmake ../amd/device-libs \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_BUILD_TYPE=Release \
-DROCmCMakeBuildTools_DIR=/pkg/gnu/rocm/cmake/share/rocmcmakebuildtools/cmake \
-DLLVM_DIR=/pkg/gnu/rocm/llvm/lib/cmake/llvm

View File

@ -16,4 +16,5 @@ mkdir -p share/hip; echo "HIP_VERSION=7.2.4" > share/hip/version
mkdir -p lib/llvm/bin
ln -sf /pkg/gnu/rocm/llvm/bin/clang++ lib/llvm/bin/clang++
ln -sf /pkg/gnu/rocm/llvm/bin/clang lib/llvm/bin/clang
ln -sf /pkg/gnu/bin/rocm_agent_enumerator bin/rocm_agent_enumerator
```

View File

@ -2,6 +2,10 @@ rocm/systems/clr 7.2.4
=
https://github.com/ROCm/rocm-systems/archive/refs/tags/rocm-7.2.4.tar.gz
``` env *** env ***
disable=true
```
``` sh *** build ***
pip3 install CppHeaderParser
mkdir -p build; cd build
@ -22,9 +26,8 @@ cmake --install .
``` sh *** config ***
mkdir -p /pkg/gnu/rocm/systems/clr/lib/llvm/bin
ln -sf /pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang++ lib/llvm/bin/clang++
ln -sf /pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang lib/llvm/bin/clang
ln -sf /pkg/gnu/rocm/systems/rocminfo/bin/rocm_agent_enumerator bin/rocm_agent_enumerator
ln -sf /pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang++ /pkg/gnu/rocm/systems/clr/lib/llvm/bin/clang++
ln -sf /pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin/clang /pkg/gnu/rocm/systems/clr/lib/llvm/bin/clang
```
``` cfg *** build deps ***

View File

@ -13,7 +13,7 @@ cmake ../projects/rocr-runtime \
-DCMAKE_INSTALL_PREFIX="$pkgpath" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=lib \
-DTARGET_DEVICES=gfx1150 \
-DTARGET_DEVICES="gfx90a;gfx90c;gfx700;gfx701;gfx702;gfx801;gfx802;gfx803;gfx805;gfx810;gfx900;gfx902;gfx904;gfx906;gfx908;gfx909;gfx942;gfx950;gfx1010;gfx1011;gfx1012;gfx1013;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201" \
-DCMAKE_C_COMPILER=/pkg/gnu/rocm/llvm/bin/clang \
-DCMAKE_CXX_COMPILER=/pkg/gnu/rocm/llvm/bin/clang++ \
-DLLVM_TOOLS_BINARY_DIR=/pkg/gnu/rocm/llvm/bin \
@ -22,7 +22,3 @@ cmake ../projects/rocr-runtime \
cmake --build . -j$(nproc)
cmake --install .
```
-DTARGET_DEVICES=gfx1150 \
-DTARGET_DEVICES="gfx700;gfx701;gfx702;gfx801;gfx802;gfx803;gfx805;gfx810;gfx900;gfx902;gfx904;gfx906;gfx908;gfx909;gfx90a;gfx90c;gfx942;gfx950;gfx1010;gfx1011;gfx1012;gfx1013;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201" \