summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLarry D. Pyeatt <larry.pyeatt@sdsmt.edu>2022-05-21 10:53:38 -0600
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2022-05-22 13:49:55 +0200
commitb6a9fc70464eeb344a190c0510cfa5b1d30e601f (patch)
tree827a2d93fc2cf6f01e65c88a5d72f4cca54ecd10 /sci-libs/clblast
parentdev-python/blurb: remove unused patch(es) (diff)
downloadgentoo-b6a9fc70464eeb344a190c0510cfa5b1d30e601f.tar.gz
gentoo-b6a9fc70464eeb344a190c0510cfa5b1d30e601f.tar.bz2
gentoo-b6a9fc70464eeb344a190c0510cfa5b1d30e601f.zip
sci-libs/clblast: Fixed error when building with CUDA enabled.
Closes: https://github.com/gentoo/gentoo/pull/25590 Signed-off-by: Larry D. Pyeatt <larry.pyeatt@sdsmt.edu> Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'sci-libs/clblast')
-rw-r--r--sci-libs/clblast/clblast-1.5.2-r1.ebuild66
-rw-r--r--sci-libs/clblast/files/level2_xtrsv.patch14
-rw-r--r--sci-libs/clblast/files/level3_xtrsv.patch14
3 files changed, 94 insertions, 0 deletions
diff --git a/sci-libs/clblast/clblast-1.5.2-r1.ebuild b/sci-libs/clblast/clblast-1.5.2-r1.ebuild
new file mode 100644
index 000000000000..604dd3d840e1
--- /dev/null
+++ b/sci-libs/clblast/clblast-1.5.2-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MYPN="CLBlast"
+
+DESCRIPTION="Tuned OpenCL BLAS"
+HOMEPAGE="https://github.com/CNugteren/CLBlast"
+SRC_URI="https://github.com/CNugteren/${MYPN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MYPN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+# Cuda is still beta, default to opencl
+IUSE="client cuda examples +opencl test"
+REQUIRED_USE="
+ ^^ ( cuda opencl )
+ test? ( client )
+"
+# Tests require write access to /dev/dri/renderD...
+RESTRICT="test"
+# RESTRICT="!test? ( test )"
+
+RDEPEND="
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ client? ( virtual/cblas )
+ opencl? ( virtual/opencl )
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/level2_xtrsv.patch
+ "${FILESDIR}"/level3_xtrsv.patch
+)
+
+src_prepare() {
+ # no forced optimisation, libdir
+ sed -e 's/-O3//g' \
+ -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' \
+ -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ mycmakeargs+=(
+ -DBUILD_SHARED_LIBS=ON
+ -DSAMPLES="$(usex examples)"
+ -DCLIENTS="$(usex client)"
+ -DNETLIB="$(usex client)"
+ -DTESTS="$(usex test)"
+ -DOPENCL="$(usex opencl)"
+ -DCUDA="$(usex cuda)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dodoc README.md ROADMAP.md CONTRIBUTING.md CHANGELOG
+ dodoc -r doc
+}
diff --git a/sci-libs/clblast/files/level2_xtrsv.patch b/sci-libs/clblast/files/level2_xtrsv.patch
new file mode 100644
index 000000000000..c1e5890c986b
--- /dev/null
+++ b/sci-libs/clblast/files/level2_xtrsv.patch
@@ -0,0 +1,14 @@
+This fixes a bug in the upstream code. There is an extra argument in
+the call to the x_buffer.CopyToAsync function that must be removed. Otherwise
+the build fails when CUDA is enabled.
+--- CLBlast/src/routines/level2/xtrsv.cpp 2022-05-21 08:44:13.811816246 -0600
++++ CLBlast_fixed/src/routines/level2/xtrsv.cpp 2022-05-21 08:28:34.601124921 -0600
+@@ -154,7 +154,7 @@
+ }
+
+ // Retrieves the results
+- x_buffer.CopyToAsync(queue_, x_size, b_buffer, event_);
++ x_buffer.CopyToAsync(queue_, x_size, b_buffer);
+ }
+
+ // =================================================================================================
diff --git a/sci-libs/clblast/files/level3_xtrsv.patch b/sci-libs/clblast/files/level3_xtrsv.patch
new file mode 100644
index 000000000000..abba1cd23026
--- /dev/null
+++ b/sci-libs/clblast/files/level3_xtrsv.patch
@@ -0,0 +1,14 @@
+This fixes a problem in the upstream code. There is an extra argument in
+the call to the x_buffer.CopyToAsync function that must be removed. Otherwise
+the build fails when CUDA is enabled.
+--- CLBlast/src/routines/level3/xtrsm.cpp 2022-05-21 08:44:13.815816361 -0600
++++ CLBlast_fixed/src/routines/level3/xtrsm.cpp 2022-05-21 08:28:06.756355738 -0600
+@@ -246,7 +246,7 @@
+ }
+
+ // Retrieves the results
+- x_buffer.CopyToAsync(queue_, b_size, b_buffer, event_);
++ x_buffer.CopyToAsync(queue_, b_size, b_buffer);
+ }
+
+ // =================================================================================================