Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# Simple init script for Python on DTU HPC
# Patrick M. Jensen, patmjen@dtu.dk, 2022
# Configuration
# This is what you should change for your setup
PYVER=3.9.14 # Python version
CUVER=11.6 # CUDA version
VENVDIR=. # Where to store your virtualenv
VENVNAME=venv # Name of your virtualenv
# Load modules
module load python3/$PYVER
module load $(module avail -o modulepath -t -C "python-${PYVER}" | grep "numpy/")
module load $(module avail -o modulepath -t -C "python-${PYVER}" | grep "scipy/")
module load $(module avail -o modulepath -t -C "python-${PYVER}" | grep "matplotlib/")
module load $(module avail -o modulepath -t -C "python-${PYVER}" | grep "pandas/")
module load cuda/$CUVER
CUDNN_MOD=$(module avail -o modulepath -t cudnn | grep "cuda-${CUVER}" | sort | tail -n1)
if [[ ${CUDNN_MOD} ]]
then
module load ${CUDNN_MOD}
fi
# Create virtualenv if needed and activate it
if [ ! -d "${VENVDIR}/${VENVNAME}" ]
then
echo INFO: Did not find virtualenv. Creating...
virtualenv ${VENVDIR}/${VENVNAME}
fi
source ${VENVDIR}/${VENVNAME}/bin/activate
# Make all GPUs visible
if command -v nvidia-smi &> /dev/null
then
export CUDA_VISIBLE_DEVICES=$(nvidia-smi --query-gpu=index --format=csv,noheader | tr '\n' ',')
echo CUDA_VISIBLE_DEVICES=${CUDA_VISIBLE_DEVICES}
fi