====== CUDA (CUDA.acm.cs)======
====== Machine Description ======
cuda, as the name implies is a machine with multiple nVidia GPUs for parallel processing, simulation, and other parallelized processes.
===== Authentication =====
Uses ldap/kerberos to authenticate against [[admin:adgroups|AD]]. In order to get access, you must be a part of the **ACMCudaAccess** group or higher privileged group. Talk with an ACM System Administrator to provision this privilege.
===== Home directory =====
Mounted from [[linux:arch_home_directories|Mozart]] using an NFS client
====== Hardware Specifications ======
As of Fall 2015, the current hardware specifications are as follows:
* ''04:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)''
* 384 Cuda Cores
* 1058 MHz Base Clock
* 5.0 Gbps Memory Clock
* 128-bit GDDR5
* 80 GB/sec Memory Bandwidth
* ''05:00.0 VGA compatible controller: NVIDIA Corporation GF104 [GeForce GTX 460] (rev a1)''
* Need to verify which revision this card is...
* ''08:00.0 VGA compatible controller: NVIDIA Corporation GF110 [GeForce GTX 580] (rev a1)''
* ''09:00.0 VGA compatible controller: NVIDIA Corporation GF110 [GeForce GTX 580] (rev a1)''
* 512 Cuda Cores
* 1544 MHz Processor Clock
* 2004 MHz Memory Clock
* 384-bit GDDR5
* 192.4 GB/s Memory Bandwidth
====== Software Configuration ======
==== CUDA Toolkit 9.0 ====
[[https://developer.nvidia.com/cuda-toolkit|CUDA Toolkit 9.0.196]]
The NVIDIA® CUDA® Toolkit provides a comprehensive development environment for C and C++ developers building GPU-accelerated applications. The CUDA Toolkit includes a compiler for NVIDIA GPUs, math libraries, and tools for debugging and optimizing the performance of your applications. You’ll also find programming guides, user manuals, API reference, and other documentation to help you get started quickly accelerating your application with GPUs.
The installation of CUDA Toolkit 9.0.196 is installed at ''/opt/cuda/''.
==== CUDNN 7.0 ====
[[https://developer.nvidia.com/rdp/cudnn-download|CUDNN 7.0.3]]
The NVIDIA CUDA® Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep neural networks. cuDNN provides highly tuned implementations for standard routines such as forward and backward convolution, pooling, normalization, and activation layers. cuDNN is part of the NVIDIA Deep Learning SDK.
The installation of CUDNN is also installed at ''/opt/cuda''.
The following associated libraries have also been installed for CUDNN:
* Python-tensorflow 1.4.0 (CPU+GPU)
* Tensorflow 1.4.0 (CPU+GPU)
* Tensorboard 0.4.0rc1
==== Theano 0.9 ====
[[http://www.deeplearning.net/software/theano/|Theano 0.9]]
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It is currently installed for both python2 and python3. You should be able to just type ''import theano'' at the top of your python script to use it's functionality.
Note that MILA has stated that development of Theano will halt after release 1.0 due in late 2017. More information can be found in this thread: https://groups.google.com/forum/#!msg/theano-users/7Poq8BZutbY/rNCIfvAEAwAJ
=== Theano Configuration ===
In order to use Theano with basic configuration, you may need to create a config file for your user if it does not inherit settings.
In your home directory, create a file called ''.theanorc'' with the following contents:
[global]
floatX = float32
device = gpu
[nvcc]
fastmath = True
[cuda]
root=/opt/cuda