aboutsummaryrefslogtreecommitdiff
path: root/development/cudatoolkit_12.6
diff options
context:
space:
mode:
authorLockywolf <unsupported>2024-09-25 10:11:27 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2024-09-27 23:12:04 +0700
commit22adeea26faefe77706f7826d7436ad7c2744a39 (patch)
tree356bc586f9ee55c6d273c64167aa074379aee929 /development/cudatoolkit_12.6
parent8b38a108ee1c6643ae16d1f17bbb4387651462a8 (diff)
development/cudatoolkit_12.6: Added (GPU-accelerated libraries).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'development/cudatoolkit_12.6')
-rw-r--r--development/cudatoolkit_12.6/README20
-rw-r--r--development/cudatoolkit_12.6/cudatoolkit_12.6.SlackBuild221
-rw-r--r--development/cudatoolkit_12.6/cudatoolkit_12.6.info10
-rw-r--r--development/cudatoolkit_12.6/doinst.sh10
-rw-r--r--development/cudatoolkit_12.6/dotdesktop/nsight.desktop12
-rw-r--r--development/cudatoolkit_12.6/dotdesktop/nvvp.desktop12
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/accinj64.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/cublas.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/cuda.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/cudart.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/cufft.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/cufftw.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/cuinj64.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/curand.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/cusolver.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/cusparse.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppc.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppi.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppial.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppicc.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppicom.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppidei.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppif.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppig.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppim.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppist.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppisu.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nppitc.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/npps.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nvToolsExt.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nvgraph.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nvidia-ml.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nvjpeg.pc9
-rw-r--r--development/cudatoolkit_12.6/pkgconfig/nvrtc.pc9
-rw-r--r--development/cudatoolkit_12.6/profile/cuda.csh5
-rw-r--r--development/cudatoolkit_12.6/profile/cuda.sh5
-rw-r--r--development/cudatoolkit_12.6/slack-desc19
37 files changed, 566 insertions, 0 deletions
diff --git a/development/cudatoolkit_12.6/README b/development/cudatoolkit_12.6/README
new file mode 100644
index 0000000000000..d0e79c2a7aaf7
--- /dev/null
+++ b/development/cudatoolkit_12.6/README
@@ -0,0 +1,20 @@
+CUDA Toolkit CUDA is NVIDIA's parallel computing architecture. It
+enables dramatic increases in computing performance by harnessing the
+power of the GPU.
+
+NOTE:
+- the binary file to download is 4 Gb;
+- the temporary package file will need 7 Gb;
+- the final package will be around 4 Gb (7 Gb when installed).
+Be sure to have enough free space before building this.
+
+This is version 12, which should be installable together with
+the default version 10.
+You can activate it by sourcing /etc/profile.d/cuda-12.6.sh
+
+NOTE:
+This build is beta. CUDA is large and complicated,
+suggestions welcome. If unsure, I suggest using the default
+CUDA 10.
+However, mpv and ffmpeg compile fine with this CUDA, and hardware
+accelerated video decoding works.
diff --git a/development/cudatoolkit_12.6/cudatoolkit_12.6.SlackBuild b/development/cudatoolkit_12.6/cudatoolkit_12.6.SlackBuild
new file mode 100644
index 0000000000000..7d67cec880433
--- /dev/null
+++ b/development/cudatoolkit_12.6/cudatoolkit_12.6.SlackBuild
@@ -0,0 +1,221 @@
+#!/bin/bash
+
+# Slackware build script for CUDA Toolkit
+
+# Copyright 2020 Giorgio Peron <giorgio.peron@gmail.com>, Belluno, Italy
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=cudatoolkit_12.6
+FILENAME=cuda
+VERSION=${VERSION:-12.6.1}
+DRIVER=${DRIVER:-560.35.03}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ ARCH=$( uname -m )
+fi
+
+if [ "$ARCH" != "x86_64" ]; then
+ printf '%s' "$ARCH architecture is unsupported." 1>&2
+ exit 1
+fi
+
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+CPREFIX=cuda-12.6
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+mkdir -p $PRGNAM-$VERSION
+
+sh $CWD/"${FILENAME}"_"${VERSION}"_"${DRIVER}"_linux.run --extract=$(readlink -f $PRGNAM-$VERSION)
+
+cd $PRGNAM-$VERSION
+# cleanup useless
+rm -r NVIDIA*.run bin
+
+# legal stuff
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mv EULA.txt version.json $PKG/usr/doc/$PRGNAM-$VERSION
+
+# extras
+mkdir -p ${PKG}/opt/${CPREFIX}/extras
+mv cuda_demo_suite/extras/demo_suite "${PKG}/opt/${CPREFIX}/extras/demo_suite"
+mv cuda_sanitizer_api/compute-sanitizer "${PKG}/opt/${CPREFIX}/extras/compute-sanitizer"
+rmdir cuda_sanitizer_api
+
+# cuda 12.6 includes almost no documentation
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mv cuda_documentation/{CUDA_Toolkit_Release_Notes.txt,DOCS,README} $PKG/usr/doc/$PRGNAM-$VERSION/
+mv cuda_documentation/EULA.txt $PKG/usr/doc/$PRGNAM-$VERSION/EULA-doc.txt
+mv cuda_documentation/tools/* $PKG/usr/doc/$PRGNAM-$VERSION/
+rm -rf cuda_documentation
+
+# main cuda
+mkdir -p $PKG/opt/${CPREFIX}/
+mv integration nsight_compute nsight_systems $PKG/opt/${CPREFIX}/
+for component in *; do
+ # this will create /opt/cuda-12.6/{bin,include,lib64}, which is what the installer
+ # does anyway.
+ cp -a "$component"/* "${PKG}/opt/${CPREFIX}/"
+done
+
+# debug: not sure if it is needed
+# rm -r "${PKG}/opt/${CPREFIX}"/bin/cuda-uninstaller
+
+# lwf: arch does this, not sure if this is required
+# Define compilers for CUDA to use.
+# This allows us to use older versions of GCC if we have to.
+ln -s /usr/bin/gcc-11.2.0 "${PKG}/opt/${CPREFIX}"/bin/gcc
+ln -s /usr/bin/g++-gcc-11.2.0 "${PKG}/opt/${CPREFIX}"/bin/g++
+
+# lwf: arch does this, not sure if this is needed.
+# Add a symlink lib->lib64 as some libraries might expect that (FS#76951)
+( cd "${PKG}/opt/${CPREFIX}" ;
+ ln -sr lib64 lib
+)
+
+rm "${PKG}/opt/${CPREFIX}"/targets/x86_64-linux/include/include
+rm "${PKG}/opt/${CPREFIX}"/targets/x86_64-linux/lib/lib64
+#rm "${PKG}/opt/${CPREFIX}"/include/include
+#rm "${PKG}/opt/${CPREFIX}"/lib64/lib64
+#rm "${PKG}/opt/${CPREFIX}"/lib/lib64
+
+rmdir "${PKG}/opt/${CPREFIX}"/gds-tools/usr/local
+rmdir "${PKG}/opt/${CPREFIX}"/gds-tools/usr/share
+rmdir "${PKG}/opt/${CPREFIX}"/gds/usr/local
+rmdir "${PKG}/opt/${CPREFIX}"/gds/usr/share
+
+
+# placate sbopkglint
+
+chmod +x ${PKG}/opt/${CPREFIX}/libnvvp/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326/eclipse_1605.so
+chmod +x ${PKG}/opt/${CPREFIX}/nsight_compute/host/target-linux-x64/*.so.*
+chmod +x ${PKG}/opt/${CPREFIX}/nsight_compute/host/target-linux-x64/libnvperf_grfx_host.so
+chmod +x ${PKG}/opt/${CPREFIX}/nsight_compute/host/target-linux-x64/python/packages/nsys_recipe/third_party/_sqlite3.cpython-310-x86_64-linux-gnu.so
+
+chmod +x ${PKG}/opt/${CPREFIX}/nsight_systems/host-linux-x64/libjpeg.so.8
+chmod +x ${PKG}/opt/${CPREFIX}/nsight_systems/target-linux-x64/*.so.*
+chmod +x ${PKG}/opt/${CPREFIX}/nsight_systems/target-linux-x64/libnvperf_grfx_host.so
+chmod +x ${PKG}/opt/${CPREFIX}/nsight_systems/target-linux-x64/python/packages/nsys_recipe/third_party/_sqlite3.cpython-310-x86_64-linux-gnu.so
+
+# arch also does this.
+# not sure if this is a must, and Slackware's g++ is even 11.2
+# Allow newer compilers to work. This is not officially supported in the Arch package but
+# if users want to try, let them try.
+# See https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements
+# for official requirements
+sed -i "/.*unsupported GNU version.*/d" "${PKG}/opt/${CPREFIX}"/targets/x86_64-linux/include/crt/host_config.h
+sed -i "/.*unsupported clang version.*/d" "${PKG}/opt/${CPREFIX}"/targets/x86_64-linux/include/crt/host_config.h
+
+ # Fix Makefile paths to CUDA
+for f in $(find "${PKG}/opt/${CPREFIX}" -name Makefile); do
+ sed -i "s|/usr/local/cuda|/opt/${CPREFIX}|g" "$f"
+done
+
+# lwf: this remains from the cudatoolkit (10) slackbuild, I am not sure this is a must
+# Create soname links.
+# find cuda-toolkit/targets -type f -name '*.so*' ! -path '*stubs/*' -print0 | while read -rd $'\0' _lib; do
+# _base=${_lib%.so.*}
+# _current_soname=$(basename ${_lib%.*})
+# while [[ $_current_soname != $(basename $_base) ]]; do
+# ln -sf ${_lib##*/} ${PKG}/usr/share/cuda/lib64/$_current_soname
+# _current_soname=${_current_soname%.*}
+# done
+# done
+
+# This seems to be not needed for 12.6.1, Nvidia somehow builds everything in
+# Remove included copy of java and link to system java 8
+# rm -fr "${PKG}/usr/share/cuda/jre"
+# sed 's|../jre/bin/java|/usr/bin/java|g' \
+# -i "${PKG}/usr/share/cuda/libnsight/nsight.ini" \
+# -i "${PKG}/usr/share/cuda/libnvvp/nvvp.ini"
+
+# lwf: the script for version 10 has this, but I am hesitant
+# Put libraries in the standard place
+# mkdir -p $PKG/usr/lib64
+# mv -fn $PKG/usr/share/cuda/targets/x86_64-linux/lib/* $PKG/usr/lib64/
+# rm -rf $PKG/usr/share/cuda/targets/x86_64-linux/lib
+# cd $PKG/usr/share/cuda
+# ln -sf ../../lib64 lib64
+
+# lwf: not sure this is needed. cuda is peculiar and in /opt, so it can have
+# its own weird symlinks
+# Put include in the standard place
+# mkdir -p $PKG/usr/include
+# mv -fn $PKG/usr/share/cuda/targets/x86_64-linux/include/* $PKG/usr/include/
+# rm -rf $PKG/usr/share/cuda/targets/x86_64-linux/include
+# ( cd $PKG/usr/share/cuda/ ; ln -sf ../../include include )
+# find $PKG/usr/include -type f | xargs chmod -c 0644
+#rm -rf $PKG/usr/share/cuda/targets
+
+# lwf: the driver includes libnvidia-opencl.so.560.35.03
+# but I am not sure it is the same thing.
+# These are already in the nvidia-driver package
+#rm -f $PKG/usr/lib64/libOpenCL.s*
+
+# # Put man in the standard place
+# mv $PKG/usr/share/cuda/doc/man $PKG/usr/
+# find $PKG/usr/man -type f -exec gzip -9 {} \;
+# for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+# Put doc in the standard place
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+#mv $PKG/usr/share/cuda/doc/* $PKG/usr/doc/$PRGNAM-$VERSION/
+#rm -rf $PKG/usr/share/cuda/doc
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+# Install profile and ld.so.config files
+install -Dm755 "${CWD}/profile/cuda.sh" "${PKG}/etc/profile.d/cuda-12.6.sh"
+install -Dm755 "${CWD}/profile/cuda.csh" "${PKG}/etc/profile.d/cuda-12.6.csh"
+sed -i "s|@VERSION@|12.6|g" "${PKG}/etc/profile.d/cuda-12.6.sh" "${PKG}/etc/profile.d/cuda-12.6.csh"
+
+# Install pkgconfig
+mkdir -p "$PKG"/opt/"${CPREFIX}"/lib64/pkgconfig/
+cp "$CWD"/pkgconfig/*.pc "$PKG"/opt/"${CPREFIX}"/lib64/pkgconfig/
+sed -i 's|Version: 11.0|Version: 12.6|g' "$PKG"/opt/"${CPREFIX}"/lib64/pkgconfig/*
+sed -i 's|cudaroot=/opt/cuda|cudaroot=/opt/cuda-12.6|g' "$PKG"/opt/"${CPREFIX}"/lib64/pkgconfig/*
+
+# Register application NVVP and NSIGHT
+mkdir -p $PKG/usr/share/applications
+cp $CWD/dotdesktop/*.desktop $PKG/usr/share/applications
+sed -i 's|/usr/share/cuda|/opt/cuda-12.6|g' $PKG/usr/share/applications/*.desktop
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n --compress -1 $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/development/cudatoolkit_12.6/cudatoolkit_12.6.info b/development/cudatoolkit_12.6/cudatoolkit_12.6.info
new file mode 100644
index 0000000000000..3c988ba178354
--- /dev/null
+++ b/development/cudatoolkit_12.6/cudatoolkit_12.6.info
@@ -0,0 +1,10 @@
+PRGNAM="cudatoolkit_12.6"
+VERSION="12.6.1"
+HOMEPAGE="https://developer.nvidia.com/cuda-toolkit"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://developer.download.nvidia.com/compute/cuda/12.6.1/local_installers/cuda_12.6.1_560.35.03_linux.run"
+MD5SUM_x86_64="a2b81a6811c9a85eccbf90f79613bc4b"
+REQUIRES="nvidia-driver"
+MAINTAINER="Lockywolf"
+EMAIL="unsupported"
diff --git a/development/cudatoolkit_12.6/doinst.sh b/development/cudatoolkit_12.6/doinst.sh
new file mode 100644
index 0000000000000..98a8e99da0dcf
--- /dev/null
+++ b/development/cudatoolkit_12.6/doinst.sh
@@ -0,0 +1,10 @@
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/development/cudatoolkit_12.6/dotdesktop/nsight.desktop b/development/cudatoolkit_12.6/dotdesktop/nsight.desktop
new file mode 100644
index 0000000000000..aa427f8ad90f0
--- /dev/null
+++ b/development/cudatoolkit_12.6/dotdesktop/nsight.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Type=Application
+Name=Nsight Eclipse Edition
+GenericName=Nsight Eclipse Edition
+Icon=/usr/share/cuda/libnsight/icon.xpm
+Exec=/usr/share/cuda/bin/nsight
+TryExec=/usr/share/cuda/bin/nsight
+Keywords=cuda;gpu;nvidia;debugger;
+X-AppInstall-Keywords=cuda;gpu;nvidia;debugger;
+X-GNOME-Keywords=cuda;gpu;nvidia;debugger;
+Terminal=false
+Categories=Development;IDE;Debugger;ParallelComputing
diff --git a/development/cudatoolkit_12.6/dotdesktop/nvvp.desktop b/development/cudatoolkit_12.6/dotdesktop/nvvp.desktop
new file mode 100644
index 0000000000000..42b8a4f430f92
--- /dev/null
+++ b/development/cudatoolkit_12.6/dotdesktop/nvvp.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Type=Application
+Name=NVIDIA Visual Profiler
+GenericName=NVIDIA Visual Profiler
+Icon=/usr/share/cuda/libnvvp/icon.xpm
+Exec=/usr/share/cuda/bin/nvvp
+TryExec=/usr/share/cuda/bin/nvvp
+Keywords=nvvp;cuda;gpu;nsight;
+X-AppInstall-Keywords=nvvp;cuda;gpu;nsight;
+X-GNOME-Keywords=nvvp;cuda;gpu;nsight;
+Terminal=false
+Categories=Development;Profiling;ParallelComputing
diff --git a/development/cudatoolkit_12.6/pkgconfig/accinj64.pc b/development/cudatoolkit_12.6/pkgconfig/accinj64.pc
new file mode 100644
index 0000000000000..948e93aa48064
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/accinj64.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: accinj64
+Description: OpenACC 64-bit Injection Library
+Version: 11.0
+Libs: -L${libdir} -laccinj64
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/cublas.pc b/development/cudatoolkit_12.6/pkgconfig/cublas.pc
new file mode 100644
index 0000000000000..ddd622aea28ac
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/cublas.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: cublas
+Description: CUDA BLAS Library
+Version: 11.0
+Libs: -L${libdir} -lcublas
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/cuda.pc b/development/cudatoolkit_12.6/pkgconfig/cuda.pc
new file mode 100644
index 0000000000000..04b7c6dd1caac
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/cuda.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: cuda
+Description: CUDA Driver Library
+Version: 11.0
+Libs: -L${libdir} -lcuda
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/cudart.pc b/development/cudatoolkit_12.6/pkgconfig/cudart.pc
new file mode 100644
index 0000000000000..eecad2b9a3ea0
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/cudart.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: cudart
+Description: CUDA Runtime Library
+Version: 11.0
+Libs: -L${libdir} -lcudart
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/cufft.pc b/development/cudatoolkit_12.6/pkgconfig/cufft.pc
new file mode 100644
index 0000000000000..13eb96a5a3822
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/cufft.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: cufft
+Description: CUDA Fast Fourier Transform
+Version: 11.0
+Libs: -L${libdir} -lcufft
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/cufftw.pc b/development/cudatoolkit_12.6/pkgconfig/cufftw.pc
new file mode 100644
index 0000000000000..7f2717e1ceaf3
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/cufftw.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: cufftw
+Description: CUDA Fast Fourier Transform Wide
+Version: 11.0
+Libs: -L${libdir} -lcufftw
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/cuinj64.pc b/development/cudatoolkit_12.6/pkgconfig/cuinj64.pc
new file mode 100644
index 0000000000000..b205b9b5c6e1f
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/cuinj64.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: cuinj64
+Description: CUDA 64-bit Injection Library
+Version: 11.0
+Libs: -L${libdir} -lcuinj64
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/curand.pc b/development/cudatoolkit_12.6/pkgconfig/curand.pc
new file mode 100644
index 0000000000000..b6ba7b2797706
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/curand.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: curand
+Description: CUDA Random Number Generation Library
+Version: 11.0
+Libs: -L${libdir} -lcurand
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/cusolver.pc b/development/cudatoolkit_12.6/pkgconfig/cusolver.pc
new file mode 100644
index 0000000000000..388d8e96a8b2e
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/cusolver.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: cusolver
+Description: A LAPACK-like library on dense and sparse linear algebra
+Version: 11.0
+Libs: -L${libdir} -lcusolver
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/cusparse.pc b/development/cudatoolkit_12.6/pkgconfig/cusparse.pc
new file mode 100644
index 0000000000000..12eb1fa67f947
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/cusparse.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: cusparse
+Description: CUDA Sparse Matrix Library
+Version: 11.0
+Libs: -L${libdir} -lcusparse
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppc.pc b/development/cudatoolkit_12.6/pkgconfig/nppc.pc
new file mode 100644
index 0000000000000..cfaa5d83b9aed
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppc.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppc
+Description: NVIDIA Performance Primitives - Core
+Version: 11.0
+Libs: -L${libdir} -lnppc
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppi.pc b/development/cudatoolkit_12.6/pkgconfig/nppi.pc
new file mode 100644
index 0000000000000..46ead99d1d62b
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppi.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppi
+Description: NVIDIA Performance Primitives - Image Processing
+Version: 11.0
+Libs: -L${libdir} -lnppi
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppial.pc b/development/cudatoolkit_12.6/pkgconfig/nppial.pc
new file mode 100644
index 0000000000000..cb97419a0081f
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppial.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppial
+Description: NVIDIA Performance Primitives - Image Processing - Arithmetic and Logic
+Version: 11.0
+Libs: -L${libdir} -lnppial
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppicc.pc b/development/cudatoolkit_12.6/pkgconfig/nppicc.pc
new file mode 100644
index 0000000000000..aa5a07fabc6b5
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppicc.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppicc
+Description: NVIDIA Performance Primitives - Image Processing - Color Conversion
+Version: 11.0
+Libs: -L${libdir} -lnppicc
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppicom.pc b/development/cudatoolkit_12.6/pkgconfig/nppicom.pc
new file mode 100644
index 0000000000000..e190b25328293
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppicom.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppicom
+Description: NVIDIA Performance Primitives - Image Processing - Compression
+Version: 11.0
+Libs: -L${libdir} -lnppicom
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppidei.pc b/development/cudatoolkit_12.6/pkgconfig/nppidei.pc
new file mode 100644
index 0000000000000..6badd80f0a436
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppidei.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppidei
+Description: NVIDIA Performance Primitives - Image Processing - DEI
+Version: 11.0
+Libs: -L${libdir} -lnppidei
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppif.pc b/development/cudatoolkit_12.6/pkgconfig/nppif.pc
new file mode 100644
index 0000000000000..fc419982e7a7d
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppif.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppif
+Description: NVIDIA Performance Primitives - Image Processing - Filters
+Version: 11.0
+Libs: -L${libdir} -lnppif
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppig.pc b/development/cudatoolkit_12.6/pkgconfig/nppig.pc
new file mode 100644
index 0000000000000..5b479ceea35d6
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppig.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppig
+Description: NVIDIA Performance Primitives - Image Processing - Geometry
+Version: 11.0
+Libs: -L${libdir} -lnppig
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppim.pc b/development/cudatoolkit_12.6/pkgconfig/nppim.pc
new file mode 100644
index 0000000000000..d7955dd27ea3a
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppim.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppim
+Description: NVIDIA Performance Primitives - Image Processing - Morphological
+Version: 11.0
+Libs: -L${libdir} -lnppim
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppist.pc b/development/cudatoolkit_12.6/pkgconfig/nppist.pc
new file mode 100644
index 0000000000000..4cdeb503cf74e
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppist.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppist
+Description: NVIDIA Performance Primitives - Image Processing - Statistic and Linear
+Version: 11.0
+Libs: -L${libdir} -lnppist
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppisu.pc b/development/cudatoolkit_12.6/pkgconfig/nppisu.pc
new file mode 100644
index 0000000000000..07348d0d51dbb
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppisu.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppisu
+Description: NVIDIA Performance Primitives - Image Processing - Support and Data Exchange
+Version: 11.0
+Libs: -L${libdir} -lnppisu
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nppitc.pc b/development/cudatoolkit_12.6/pkgconfig/nppitc.pc
new file mode 100644
index 0000000000000..953bacf8e380b
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nppitc.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nppitc
+Description: NVIDIA Performance Primitives - Image Processing - Threshold and Compare
+Version: 11.0
+Libs: -L${libdir} -lnppitc
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/npps.pc b/development/cudatoolkit_12.6/pkgconfig/npps.pc
new file mode 100644
index 0000000000000..f58e261d1e8b2
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/npps.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: npps
+Description: NVIDIA Performance Primitives - Signal Processing
+Version: 11.0
+Libs: -L${libdir} -lnpps
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nvToolsExt.pc b/development/cudatoolkit_12.6/pkgconfig/nvToolsExt.pc
new file mode 100644
index 0000000000000..298bab8898d50
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nvToolsExt.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nvToolsExt
+Description: NVIDIA Tools Extension
+Version: 11.0
+Libs: -L${libdir} -lnvToolsExt
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nvgraph.pc b/development/cudatoolkit_12.6/pkgconfig/nvgraph.pc
new file mode 100644
index 0000000000000..89dcb9c8c2199
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nvgraph.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nvgraph
+Description: NVIDIA Accelerated Graph Analytics
+Version: 11.0
+Libs: -L${libdir} -lnvgraph
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nvidia-ml.pc b/development/cudatoolkit_12.6/pkgconfig/nvidia-ml.pc
new file mode 100644
index 0000000000000..0743f8c7da576
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nvidia-ml.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nvidia-ml
+Description: NVML
+Version: 11.0
+Libs: -L${libdir}/stubs -lnvidia-ml
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nvjpeg.pc b/development/cudatoolkit_12.6/pkgconfig/nvjpeg.pc
new file mode 100644
index 0000000000000..ebdcfd07707cb
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nvjpeg.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nvjpeg
+Description: NVIDIA JPEG Library
+Version: 11.0
+Libs: -L${libdir} -lnvjpeg
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/pkgconfig/nvrtc.pc b/development/cudatoolkit_12.6/pkgconfig/nvrtc.pc
new file mode 100644
index 0000000000000..48afbdb0bf4f4
--- /dev/null
+++ b/development/cudatoolkit_12.6/pkgconfig/nvrtc.pc
@@ -0,0 +1,9 @@
+cudaroot=/opt/cuda
+libdir=${cudaroot}/targets/x86_64-linux/lib
+includedir=${cudaroot}/targets/x86_64-linux/include
+
+Name: nvrtc
+Description: A runtime compilation library for CUDA C++
+Version: 11.0
+Libs: -L${libdir} -lnvrtc
+Cflags: -I${includedir}
diff --git a/development/cudatoolkit_12.6/profile/cuda.csh b/development/cudatoolkit_12.6/profile/cuda.csh
new file mode 100644
index 0000000000000..87e78cc775e6b
--- /dev/null
+++ b/development/cudatoolkit_12.6/profile/cuda.csh
@@ -0,0 +1,5 @@
+#!/bin/csh
+setenv PATH /opt/cuda-@VERSION@/bin:${PATH}
+setenv CUDA_PATH /opt/cuda-@VERSION@
+setenv MANPATH "/opt/cuda-@VERSION@/gds/man":${MANPATH}
+setenv PKG_CONFIG_PATH "/opt/cuda-@VERSION@/usr/lib64/pkgconfig/":${PKG_CONFIG_PATH}
diff --git a/development/cudatoolkit_12.6/profile/cuda.sh b/development/cudatoolkit_12.6/profile/cuda.sh
new file mode 100644
index 0000000000000..bb2b0becdd8b6
--- /dev/null
+++ b/development/cudatoolkit_12.6/profile/cuda.sh
@@ -0,0 +1,5 @@
+export CUDA_PATH=/opt/cuda-@VERSION@
+export PATH="/opt/cuda-@VERSION@/bin:/opt/cuda-@VERSION@/nsight_compute:/opt/cuda-@VERSION@/nsight_systems/bin":"$PATH"
+export MANPATH="/opt/cuda-@VERSION@/gds/man":"$MANPATH"
+export PKG_CONFIG_PATH="/opt/cuda-@VERSION@/usr/lib64/pkgconfig/":"$PKG_CONFIG_PATH"
+export LD_LIBRARY_PATH="/opt/cuda-@VERSION@/lib64:/opt/cuda-@VERSION@/nvvm/lib64:/opt/cuda-@VERSION@/extras/CUPTI/lib64":"$LD_LIBRARY_PATH"
diff --git a/development/cudatoolkit_12.6/slack-desc b/development/cudatoolkit_12.6/slack-desc
new file mode 100644
index 0000000000000..7cb32d792baac
--- /dev/null
+++ b/development/cudatoolkit_12.6/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+cudatoolkit_12.6: cudatoolkit_12.6 (NVIDIA's parallel computing architecture)
+cudatoolkit_12.6:
+cudatoolkit_12.6: CUDA is NVIDIA's parallel computing architecture. It enables dramatic
+cudatoolkit_12.6: increases in computing performance by harnessing the power of
+cudatoolkit_12.6: the GPU.
+cudatoolkit_12.6:
+cudatoolkit_12.6: Homepage https://developer.nvidia.com/cuda-toolkit
+cudatoolkit_12.6:
+cudatoolkit_12.6: This is a versioned build for version 12.6 only.
+cudatoolkit_12.6:
+cudatoolkit_12.6: