commit:     bce7726afd984518ea4ad9eddddf78df03ff36b9
Author:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 18 05:55:03 2018 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Fri Sep 21 16:05:41 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bce7726a

cuda.eclass: Add version and sandbox helper methods

cuda_toolkit_version returns the version of dev-util/nvidia-cuda-toolkit
cuda_cudnn_version returns the version of dev-libs/cudnn
cuda_add_sandbox adds the nvidia dev nodes to the sandbox

Signed-off-by: Jason Zaman <perfinion <AT> gentoo.org>

 eclass/cuda.eclass | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/eclass/cuda.eclass b/eclass/cuda.eclass
index 3a6fc3a31d1..f1c09ca2e45 100644
--- a/eclass/cuda.eclass
+++ b/eclass/cuda.eclass
@@ -144,6 +144,48 @@ cuda_sanitize() {
        export NVCCFLAGS
 }
 
+# @FUNCTION: cuda_add_sandbox
+# @USAGE: [-w]
+# @DESCRIPTION:
+# Add nvidia dev nodes to the sandbox predict list.
+# with -w, add to the sandbox write list.
+cuda_add_sandbox() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       local i
+       for i in /dev/nvidia*; do
+               if [[ $1 == '-w' ]]; then
+                       addwrite $i
+               else
+                       addpredict $i
+               fi
+       done
+}
+
+# @FUNCTION: cuda_toolkit_version
+# @DESCRIPTION:
+# echo the installed version of dev-util/nvidia-cuda-toolkit
+cuda_toolkit_version() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       local v
+       v="$(best_version dev-util/nvidia-cuda-toolkit)"
+       v="${v##*cuda-toolkit-}"
+       ver_cut 1-2 "${v}"
+}
+
+# @FUNCTION: cuda_cudnn_version
+# @DESCRIPTION:
+# echo the installed version of dev-libs/cudnn
+cuda_cudnn_version() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       local v
+       v="$(best_version dev-libs/cudnn)"
+       v="${v##*cudnn-}"
+       ver_cut 1-2 "${v}"
+}
+
 # @FUNCTION: cuda_src_prepare
 # @DESCRIPTION:
 # Sanitise and export NVCCFLAGS by default

Reply via email to