7 |
7 |
DOCS_DIR="docs"
|
8 |
8 |
DOCS_DEPEND="media-gfx/graphviz"
|
9 |
9 |
ROCM_VERSION=${PV}
|
10 |
|
inherit cmake docs edo multiprocessing prefix rocm
|
|
10 |
inherit cmake docs edo multiprocessing rocm
|
11 |
11 |
|
12 |
12 |
DESCRIPTION="AMD's library for BLAS on ROCm"
|
13 |
13 |
HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocBLAS"
|
14 |
14 |
SRC_URI="https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-${PV}.tar.gz -> rocm-${P}.tar.gz
|
15 |
|
https://media.githubusercontent.com/media/littlewu2508/littlewu2508.github.io/main/gentoo-distfiles/${PN}-5.0.2-Tensile-asm_full-navi22.tar.gz"
|
|
15 |
https://media.githubusercontent.com/media/littlewu2508/littlewu2508.github.io/main/gentoo-distfiles/${PN}-5.4.2-Tensile-asm_full-navi22.tar.gz"
|
16 |
16 |
S="${WORKDIR}/${PN}-rocm-${PV}"
|
17 |
17 |
|
18 |
18 |
LICENSE="BSD"
|
... | ... | |
23 |
23 |
RESTRICT="!test? ( test )"
|
24 |
24 |
|
25 |
25 |
BDEPEND="
|
26 |
|
dev-util/rocm-cmake
|
|
26 |
>=dev-util/rocm-cmake-5.3
|
27 |
27 |
dev-util/Tensile:${SLOT}
|
28 |
28 |
"
|
29 |
29 |
|
... | ... | |
41 |
41 |
)
|
42 |
42 |
"
|
43 |
43 |
|
|
44 |
QA_FLAGS_IGNORED="/usr/lib64/rocblas/library/.*"
|
|
45 |
|
44 |
46 |
PATCHES=(
|
45 |
|
"${FILESDIR}"/${PN}-4.3.0-fix-glibc-2.32-and-above.patch
|
46 |
|
"${FILESDIR}"/${PN}-5.0.2-change-default-Tensile-library-dir.patch
|
47 |
|
"${FILESDIR}"/${PN}-5.0.2-cpp_lib_filesystem.patch
|
48 |
|
"${FILESDIR}"/${PN}-5.0.2-unbundle-Tensile.patch
|
|
47 |
"${FILESDIR}"/${PN}-5.4.2-cpp_lib_filesystem.patch
|
|
48 |
"${FILESDIR}"/${PN}-5.4.2-unbundle-Tensile.patch
|
|
49 |
"${FILESDIR}"/${PN}-5.4.2-add-missing-header.patch
|
|
50 |
"${FILESDIR}"/${PN}-5.4.2-link-cblas.patch
|
49 |
51 |
)
|
50 |
52 |
|
51 |
53 |
src_prepare() {
|
52 |
54 |
cmake_src_prepare
|
53 |
55 |
cp -a "${WORKDIR}/asm_full/" library/src/blas3/Tensile/Logic/ || die
|
54 |
|
# Fit for Gentoo FHS rule
|
55 |
|
sed -e "/PREFIX rocblas/d" \
|
56 |
|
-e "/<INSTALL_INTERFACE/s:include:include/rocblas:" \
|
57 |
|
-e "s:rocblas/include:include/rocblas:" \
|
58 |
|
-e "s:\\\\\${CPACK_PACKAGING_INSTALL_PREFIX}rocblas/lib:${EPREFIX}/usr/$(get_libdir)/rocblas:" \
|
59 |
|
-e "s:share/doc/rocBLAS:share/doc/${P}:" \
|
60 |
|
-e "/rocm_install_symlink_subdir( rocblas )/d" -i library/src/CMakeLists.txt || die
|
61 |
|
|
62 |
56 |
sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die
|
63 |
|
|
64 |
|
eprefixify library/src/tensile_host.cpp
|
65 |
57 |
}
|
66 |
58 |
|
67 |
59 |
src_configure() {
|
... | ... | |
71 |
63 |
|
72 |
64 |
local mycmakeargs=(
|
73 |
65 |
-DCMAKE_SKIP_RPATH=On
|
|
66 |
-DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
|
|
67 |
-DROCM_SYMLINK_LIBS=OFF
|
74 |
68 |
-DAMDGPU_TARGETS="$(get_amdgpu_flags)"
|
75 |
69 |
-DTensile_LOGIC="asm_full"
|
76 |
70 |
-DTensile_COMPILER="hipcc"
|
... | ... | |
80 |
74 |
-DTensile_ROOT="${EPREFIX}/usr/share/Tensile"
|
81 |
75 |
-DBUILD_WITH_TENSILE=ON
|
82 |
76 |
-DCMAKE_INSTALL_INCLUDEDIR="include/rocblas"
|
83 |
|
-DBUILD_TESTING=OFF
|
84 |
77 |
-DBUILD_CLIENTS_SAMPLES=OFF
|
85 |
78 |
-DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
|
86 |
79 |
-DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
|
... | ... | |
108 |
101 |
|
109 |
102 |
if use benchmark; then
|
110 |
103 |
cd "${BUILD_DIR}" || die
|
111 |
|
dolib.so clients/librocblas_fortran_client.so
|
|
104 |
dolib.a clients/librocblas_fortran_client.a
|
112 |
105 |
dobin clients/staging/rocblas-bench
|
113 |
106 |
fi
|
114 |
107 |
}
|