cuda.eclass: Add version and sandbox helper methods
authorJason Zaman <perfinion@gentoo.org>
Tue, 18 Sep 2018 05:55:03 +0000 (13:55 +0800)
committerJason Zaman <perfinion@gentoo.org>
Fri, 21 Sep 2018 16:05:41 +0000 (00:05 +0800)
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@gentoo.org>
eclass/cuda.eclass

index 3a6fc3a31d1871faac559b58f99178eca1518dfd..f1c09ca2e45383bfd2d879a67fd2df4f8dad1909 100644 (file)
@@ -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