summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTorsten Keßler2020-05-19 14:07:21 +0200
committerGitHub2020-05-19 08:07:21 -0400
commite47e880fa052bda60cbcf8710fea43f1f4cd4856 (patch)
tree42c4a88b1aff11f70ecfadf19ab12e6e6d976876
parenteccf8c5310e0ec3b58dead2b7ecfb71612961d74 (diff)
downloadaur-e47e880fa052bda60cbcf8710fea43f1f4cd4856.tar.gz
[rocblas] Successful build in clean chroot (#158)
* [rocblas] Successful build in clean chroot * [rocblas] Add missing patch file * [rocblas] Add file extension to tarball * Use local Tensile, patch __hcc_workweek__
-rw-r--r--.SRCINFO25
-rw-r--r--PKGBUILD59
-rw-r--r--hcc_workweek.patch14
3 files changed, 63 insertions, 35 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 68a23da6fec1..27dda5ccbb41 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,21 +1,24 @@
pkgbase = rocblas
pkgdesc = Next generation BLAS implementation for ROCm platform
pkgver = 3.3.0
- pkgrel = 3
- url = https://github.com/ROCmSoftwarePlatform/rocBLAS
+ pkgrel = 5
+ url = https://rocblas.readthedocs.io/en/latest
arch = x86_64
- license = custom:NCSAOSL
+ license = MIT
makedepends = cmake
- makedepends = hcc>=3.3.0
+ makedepends = hcc
makedepends = python
- makedepends = boost
- makedepends = comgr>=3.3.0
- makedepends = rocminfo
- makedepends = hsa-ext-rocr
- depends = hcc
- depends = hip
- source = https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-3.3.0.tar.gz
+ makedepends = python-virtualenv
+ makedepends = python-pyaml
+ makedepends = perl-file-which
+ makedepends = llvm-amdgpu
+ depends = hip-hcc
+ depends = openmp
+ options = !strip
+ source = rocblas-3.3.0.tar.gz::https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-3.3.0.tar.gz
+ source = rocm-tensile-3.3.0.tar.gz::https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-3.3.0.tar.gz
sha256sums = aaa8f0479202bdbe94d2ec5655a76055656f743b0d36816501cb84a533084034
+ sha256sums = 25386b26c75fc27234b6a7773b2ac36f1605e82dff8dab5accd8ba842320b6b3
pkgname = rocblas
diff --git a/PKGBUILD b/PKGBUILD
index 0275b3c79e5e..92df7962c559 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,42 +1,53 @@
# Maintainer: Markus Näther <naether.markus@gmail.com>
pkgname=rocblas
-_pkgver=3.3.0
-pkgver="$_pkgver"
-pkgrel=3
-pkgdesc="Next generation BLAS implementation for ROCm platform"
+pkgver=3.3.0
+pkgrel=5
+pkgdesc='Next generation BLAS implementation for ROCm platform'
arch=('x86_64')
-url="https://github.com/ROCmSoftwarePlatform/rocBLAS"
-license=('custom:NCSAOSL')
-depends=('hcc' 'hip')
-makedepends=('cmake' "hcc>=$pkgver" 'python' 'boost' "comgr>=$pkgver" 'rocminfo' 'hsa-ext-rocr')
-source=("https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-$_pkgver.tar.gz")
-sha256sums=('aaa8f0479202bdbe94d2ec5655a76055656f743b0d36816501cb84a533084034')
+url='https://rocblas.readthedocs.io/en/latest'
+license=('MIT')
+depends=('hip-hcc' 'openmp')
+makedepends=('cmake' 'hcc' 'python' 'python-virtualenv' 'python-pyaml' 'perl-file-which' 'llvm-amdgpu')
+_rocblas='https://github.com/ROCmSoftwarePlatform/rocBLAS'
+_tensile='https://github.com/ROCmSoftwarePlatform/Tensile'
+source=("$pkgname-$pkgver.tar.gz::$_rocblas/archive/rocm-$pkgver.tar.gz"
+ "rocm-tensile-$pkgver.tar.gz::$_tensile/archive/rocm-$pkgver.tar.gz")
+sha256sums=('aaa8f0479202bdbe94d2ec5655a76055656f743b0d36816501cb84a533084034'
+ '25386b26c75fc27234b6a7773b2ac36f1605e82dff8dab5accd8ba842320b6b3')
+options=(!strip)
+
+prepare() {
+ cd "$srcdir/Tensile-rocm-$pkgver"
+ # override __hcc_workweek__
+ # https://github.com/rocm-arch/rocm-arch/issues/68#issuecomment-604272120
+ sed -i 's/__hcc_workweek__/99999/g' $(grep __hcc_workweek__ . -rIl)
+}
build() {
- mkdir -p "$srcdir/build"
- cd "$srcdir/build"
+ mkdir -p build
+ cd build
# fix broken build with stack protection
export CFLAGS="$(sed -e 's/-fstack-protector-strong//' <<< "$CFLAGS")"
export CXXFLAGS="$(sed -e 's/-fstack-protector-strong//' <<< "$CXXFLAGS")"
export CPPFLAGS="$(sed -e 's/-fstack-protector-strong//' <<< "$CPPFLAGS")"
- # compile with HCC
- export CXX="/opt/rocm/hcc/bin/hcc"
-
- # TODO: fix librocblas.so, it contains references to $srcdir
- cmake -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/opt/rocm/rocblas \
- -HIP_DIR=/opt/rocm/hip/lib/cmake/hip \
- -hcc_DIR=/opt/rocm/hcc/lib/cmake/hcc \
+ CXX=/opt/rocm/hcc/bin/hcc \
+ cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm/rocblas \
+ -DCMAKE_PREFIX_PATH=/opt/rocm/llvm/lib/cmake/llvm \
-Damd_comgr_DIR=/opt/rocm/lib/cmake/amd_comgr \
- "$srcdir/rocBLAS-rocm-$_pkgver"
+ -DDETECT_LOCAL_VIRTUALENV=ON \
+ -DTensile_TEST_LOCAL_PATH="$srcdir/Tensile-rocm-$pkgver" \
+ -DBUILD_CLIENTS_TESTS=OFF \
+ -DBUILD_CLIENTS_BENCHMARKS=OFF \
+ -DBUILD_CLIENTS_SAMPLES=OFF \
+ "$srcdir/rocBLAS-rocm-$pkgver"
# Fix for latest llvm
sed -i 's/Impl::inputOne(io, key, \*value)/Impl::inputOne(io, key.str(), \*value)/g' \
$srcdir/build/virtualenv/lib/python*/site-packages/Tensile/Source/lib/include/Tensile/llvm/YAML.hpp
- make -j 2
+ make
}
package() {
@@ -44,8 +55,8 @@ package() {
make DESTDIR="$pkgdir" install
- install -d "$pkgdir/etc/ld.so.conf.d"
- cat << EOF > "$pkgdir/etc/ld.so.conf.d/rocblas.conf"
+ install -Dm644 /dev/stdin "$pkgdir/etc/ld.so.conf.d/rocblas.conf" << EOF
/opt/rocm/rocblas/lib
EOF
+ install -Dm644 "$srcdir/rocBLAS-rocm-$pkgver/LICENSE.md" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/hcc_workweek.patch b/hcc_workweek.patch
new file mode 100644
index 000000000000..d93cb40719ee
--- /dev/null
+++ b/hcc_workweek.patch
@@ -0,0 +1,14 @@
+*** rocBLAS-rocm-3.3.0/CMakeLists.txt.bak 2020-05-10 15:58:01.475190329 +0200
+--- rocBLAS-rocm-3.3.0/CMakeLists.txt 2020-05-10 16:00:18.879954059 +0200
+***************
+*** 188,193 ****
+--- 188,196 ----
+ file (STRINGS "tensile_tag.txt" read_tensile_tag)
+ set( tensile_tag ${read_tensile_tag} CACHE STRING "Tensile tag to download" )
+ virtualenv_install("git+https://github.com/${tensile_fork}/Tensile.git@${tensile_tag}")
++ execute_process(
++ COMMAND bash -c "sed -i 's/__hcc_workweek__/99999/g' $(grep -rIl __hcc_workweek__ ${VIRTUALENV_HOME_DIR})"
++ )
+ message (STATUS "using GIT Tensile fork=${tensile_fork} from branch=${tensile_tag}")
+ endif()
+ list(APPEND CMAKE_PREFIX_PATH ${VIRTUALENV_HOME_DIR})