pkg download command and patches
This commit is contained in:
@ -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
|
||||
|
||||
@ -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
|
||||
```
|
||||
|
||||
@ -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
|
||||
```
|
||||
|
||||
24
assets/var/gnu/rocm/libraries/rocprim.md
Normal file
24
assets/var/gnu/rocm/libraries/rocprim.md
Normal 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 .
|
||||
```
|
||||
@ -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
|
||||
|
||||
77
assets/var/gnu/rocm/libraries/rocsolver.md
Normal file
77
assets/var/gnu/rocm/libraries/rocsolver.md
Normal 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 \
|
||||
|
||||
Reference in New Issue
Block a user