diff options
author | Torsten Keßler | 2020-05-19 14:07:21 +0200 |
---|---|---|
committer | GitHub | 2020-05-19 08:07:21 -0400 |
commit | e47e880fa052bda60cbcf8710fea43f1f4cd4856 (patch) | |
tree | 42c4a88b1aff11f70ecfadf19ab12e6e6d976876 | |
parent | eccf8c5310e0ec3b58dead2b7ecfb71612961d74 (diff) | |
download | aur-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-- | .SRCINFO | 25 | ||||
-rw-r--r-- | PKGBUILD | 59 | ||||
-rw-r--r-- | hcc_workweek.patch | 14 |
3 files changed, 63 insertions, 35 deletions
@@ -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 @@ -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}) |