The CSF2 has been replaced by the CSF3 - please use that system! This documentation may be out of date. Please read the CSF3 documentation instead. To display this old CSF2 page click here. |
Theano
Overview
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently.
Version 0.8.2 is installed on the CSF. It uses the CUDA 5.5.22 library on the GPU nodes.
Restrictions on use
There are no restrictions on running Theano. However, access to the GPU nodes is not possible until you have been added to the correct group. Please contact its-ri-team@manchester.ac.uk to request this.
You are encouraged to cite the library in any research. Please see the citation page for details.
Set up procedure
To access the software you must first load the modulefile:
module load apps/binapps/theano/0.8.2
This will automatically load the Anaconda v2.5.0 Python module files (which provides python 2.7.11) and also the CUDA 5.5.22 modulefile.
If you require the PyCUDA libraries please also load the following additional modulefile:
module load libs/gcc/pycuda/2016.1.1
Running the application
Please do not run Theano on the login node. Jobs should be submitted to the compute nodes via batch.
Serial batch job submission – GPU
Make sure you have the modulefile loaded then create a batch submission script, for example:
#!/bin/bash #$ -S /bin/bash #$ -cwd # Job will run from the current directory #$ -V # Job will inherit current environment settings ##### Use ONE of the following to select a GPU node #$ -l nvidia # Nvidia M2050 #$ -l nvidia_k20 # Nvidia K20 (restricted to specific research group) python myscript.py
Submit the jobscript using:
qsub scriptname
where scriptname is the name of your jobscript.
Parallel batch job submission – CPU
Make sure you have the modulefile loaded then create a batch submission script, for example:
#!/bin/bash #$ -S /bin/bash #$ -cwd # Job will run from the current directory #$ -V # Job will inherit current environment settings #$ -pe smp.pe 4 # 4 core job # The next line ensures that the software automatically uses the no. of cores requested (in this case 4) export OMP_NUM_THREADS=$NSLOTS python myscript.py
Interactive Usage
To use python interactively first start an interactive session on a GPU node using:
# Access to M2050 GPU qrsh -l inter -l nvidia # Access to K20 GPU qrsh -l inter -l nvidia_k20 # When logged in to a GPU node, set up as before: module load apps/binapps/theano/0.8.2 python >>> import theano >>> ... python code... // When finished: Ctrl-d # Now end your interactive session to return to the CSF login node exit
Further info
Updates
None.