-
Notifications
You must be signed in to change notification settings - Fork 0
/
submit.yml.erb
62 lines (59 loc) · 2.2 KB
/
submit.yml.erb
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<%
# your image location will differa
image="/apps/ondemand/containers/febio-studio_v1.sif"
%>
---
script:
native: [
"-n", "<%= ha_tasks.blank? ? 1 : ha_tasks.to_i %>",
"--ntasks-per-node=<%= [ha_tasks.blank? ? 1 : ha_tasks.to_i, 40 ].min %>",
<%- if not ha_gpus.blank? -%>
"--gres=gpu:<%= ha_gpus.to_i %>",
<%- end -%>
<%- if not ha_cpus.blank? -%>
"--cpus-per-task=<%= ha_cpus.to_i %>",
<%- end -%>
<%- if not ha_mem.blank? -%>
"--mem=<%= ha_mem.to_i %>G"
<%- end -%>
]
reservation_id: <%= ha_reservation.blank? ? "" : ha_reservation.strip %>
<% unless email.blank? %>
email: <%= email %>
<% end %>
batch_connect:
template: "vnc"
before_script: |
# Export the module function if it exists
[[ $(type -t module) == "function" ]] && export -f module
export my_sport=$(find_port ${host})
ssh -f -N -D${my_sport} cl1
# Running these here to be included inside the container.
echo "DEBUG: SOCKS port is ${my_sport}"
DISPLAY=:${display} gsettings set org.gnome.system.proxy mode manual
DISPLAY=:${display} gsettings set org.gnome.system.proxy.socks host localhost
DISPLAY=:${display} gsettings set org.gnome.system.proxy.socks port ${my_sport}
export https_proxy=socks5h://localhost:${my_sport}
export http_proxy=socks5h://localhost:${my_sport}
if [ -n "$CUDA_VISIBLE_DEVICES" ]
then
GPU_BUS_ID=`nvidia-smi --query-gpu=gpu_bus_id --format=csv,noheader | head -n 1 | tr '[:upper:]' '[:lower:]'`
if [ -z ${GPU_BUS_ID} ]
then
DRI_DEVICE=`basename /sys/bus/pci/devices/${GPU_BUS_ID:4}/drm/card*`
echo "print Slurm taskprolog: Setting VGL_DISPLAY=/dev/dri/$DRI_DEVICE"
export VGL_DISPLAY="/dev/dri/$DRI_DEVICE"
fi
fi
websockify_cmd: '/usr/bin/websockify'
script_wrapper: |
cat << "CTRSCRIPT" > container.sh
export PATH="$PATH:/opt/TurboVNC/bin"
%s
CTRSCRIPT
# your bindpath will differ
mkdir -p /tmp/$USER
export SINGULARITY_BINDPATH="/etc/ssh,/home,/nfshome,/scratch,/var,/run,/tmp/$USER:/run/user"
module load singularity
echo "INFO: About to run singularity"
singularity exec --nv <%= image %> /bin/bash container.sh