-
Notifications
You must be signed in to change notification settings - Fork 0
/
SingularityFile.def
73 lines (61 loc) · 1.71 KB
/
SingularityFile.def
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
63
64
65
66
67
68
69
70
71
72
73
Bootstrap: docker
From: nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04
%post
# -- system setup --
apt -y update
apt -y upgrade
# -- install general system dependencies --
apt -y install \
git \
build-essential \
zlib1g-dev \
libncurses5-dev \
libgdbm-dev \
libnss3-dev \
libssl-dev \
libreadline-dev \
libffi-dev \
libsqlite3-dev \
libbz2-dev \
wget \
bzip2 \
unzip
# -- install miniconda --
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -f -p /opt/miniconda3/
rm Miniconda3-latest-Linux-x86_64.sh
export PATH="/opt/miniconda3/bin:$PATH"
# -- install python and pip --
# actually just installing desired python version
conda install -y python=3.10
conda install -y -c conda-forge pip
# Help conda resolving Python "import"
conda update --all
# -- install minidrl specific system dependencies --
# ffmpeg - for saving environment renders to mp4
# xvfb - incase you want to ssh into container and use X11 display
apt -y install ffmpeg xvfb
# mujoco and box2d dependencies
apt -y install \
software-properties-common \
libgl1-mesa-dev \
libgl1-mesa-glx \
libglew-dev \
libosmesa6-dev \
patchelf \
swig
%environment
# set locale environment variable
# reef: https://sylabs.io/guides/3.5/user-guide/build_a_container.html
export LC_ALL=C
# add miniconda to path
export PATH="/opt/miniconda3/bin:$PATH"
%runscript
exec "$@"
%labels
Author Jonathon Schwartz
%help
This is a definition for a Ubuntu 22.04 singularity image with CUDA 11.7,
and cuDNN8 installed.
It is built on top of the nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04
docker image.