From 903a9278fea00cfc1efbe7bfb9835e682201d568 Mon Sep 17 00:00:00 2001
From: "Patrick M. Jensen" <patmjen@dtu.dk>
Date: Wed, 16 Nov 2022 10:21:01 +0100
Subject: [PATCH] Add sample init script

---
 scripts/init.sh | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 scripts/init.sh

diff --git a/scripts/init.sh b/scripts/init.sh
new file mode 100644
index 0000000..3dd2b08
--- /dev/null
+++ b/scripts/init.sh
@@ -0,0 +1,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
+
-- 
GitLab