upd and patches

This commit is contained in:
2026-07-22 04:29:56 +03:00
parent 2be695fa6a
commit c6dcbc1ca5
90 changed files with 1688 additions and 91 deletions

View File

@ -0,0 +1,18 @@
rocm/libraries/hipblas-common 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/hipblas-common.tar.gz
``` sh *** build ***
mkdir -p build; cd build
HIP_CLANG_PATH=/pkg/gnu/rocm/llvm/amd/hipcc/lib/llvm/bin \
HIP_PATH=/pkg/gnu/rocm/systems/clr \
cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH=/pkg/gnu/rocm/libraries/hipblas-common \
-DCMAKE_BUILD_TYPE=Release \
-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" \
-DROCmCMakeBuildTools_DIR=/pkg/gnu/rocm/cmake/share/rocmcmakebuildtools/cmake
cmake --build . -j$(nproc)
cmake --install .
```

View File

@ -0,0 +1,48 @@
hipblas 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/hipblas.tar.gz
``` 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_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" \
-DBUILD_CLIENTS=OFF \
-LH
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/llvm/amd/comgr
rocm/llvm/amd/device-libs
rocm/llvm/amd/hipcc
rocm/systems/clr
rocm/systems/rocr-runtime
rocm/libraries/hipblas-common
```
rocblas ?

View File

@ -0,0 +1,47 @@
hipblaslt 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/hipblaslt.tar.gz
``` 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" \
-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_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
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/libraries/hipblas-common
rocm/systems/roctracer
rocm/systems/rocm-smi
openblas
rocm/llvm/openmp
rocm/libraries/rocroller
msgpack-cxx
```

View File

@ -0,0 +1,38 @@
rocm/libraries/rocblas 7.2.4
=
https://github.com/ROCm/rocm-libraries/releases/download/rocm-7.2.4/rocblas.tar.gz
``` 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/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
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/libraries/hipblaslt
```

View File

@ -0,0 +1,168 @@
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
```
``` 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 \
-DROCROLLER_BUILD_TESTING=OFF \
-DROCROLLER_ENABLE_CLIENT=OFF \
-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 \
cmake --build . -j$(nproc)
cmake --install .
```
``` cfg *** build deps ***
rocm/llvm/libcxx
fmt
spdlog
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