Summary and Version Information
This is the NVidia CUDA toolkit, providing CUDA and OpenCL support.
|Description||CUDA programming toolkit|
|5.0.35||cuda/5.0.35|| Non-HPC Glue systems
|6.5.14||cuda/6.5.14|| Non-HPC Glue systems
|7.0.28||cuda/7.0.28|| Non-HPC Glue systems
|7.5.18||cuda/7.5.18|| Non-HPC Glue systems
*: Packages labelled as "available" on an HPC cluster means that it can be used on the compute nodes of that cluster. Even software not listed as available on an HPC cluster is generally available on the login nodes of the cluster (assuming it is available for the appropriate OS version; e.g. RedHat Linux 6 for the two Deepthought clusters). This is due to the fact that the compute nodes do not use AFS and so have copies of the AFS software tree, and so we only install packages as requested. Contact us if you need a version listed as not available on one of the clusters.
In general, you need to prepare your Unix environment to be able to use this software. To do this, either:
module load MODFOO
where TAPFOO and MODFOO are one of the tags in the tap
and module columns above, respectively. The
tap command will
print a short usage text (use
-q to supress this, this is needed
in startup dot files); you can get a similar text with
module help MODFOO. For more information on
the tap and module commands.
For packages which are libraries which other codes get built against, see the section on compiling codes for more help.
Tap/module commands listed with a version of current will set up for what we considered the most current stable and tested version of the package installed on the system. The exact version is subject to change with little if any notice, and might be platform dependent. Versions labelled new would represent a newer version of the package which is still being tested by users; if stability is not a primary concern you are encouraged to use it. Those with versions listed as old set up for an older version of the package; you should only use this if the newer versions are causing issues. Old versions may be dropped after a while. Again, the exact versions are subject to change with little if any notice.
In general, you can abbreviate the module tags. If no version is given, the default current version is used. For packages with compiler/MPI/etc dependencies, if a compiler module or MPI library was previously loaded, it will try to load the correct build of the package for those packages. If you specify the compiler/MPI dependency, it will attempt to load the compiler/MPI library for you if needed.
Overview of CUDA
nvcc can compile source files with the CUDA language
extensions. It also contains CUDA implementations of BLAS and FFT libraries,
as well as some data parallel primitives. See
article for general information, or
documentation for detailed instructions.
Overview of OpenCL
OpenCL is a framework for writing programs to execute across CPUs and various other devices (including GPUs). See the Wikipedia article for more information.
The OpenCL support in cuda/5.0.35 appears to be broken. Use cuda/6.5.14 instead.
The nvcc compiler will support OpenCL as well. Your code should include the opencl.h header file, e.g.
nvcc -lOpenCL mycode.c