-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmake_singularity_image.def
More file actions
130 lines (124 loc) · 5.15 KB
/
make_singularity_image.def
File metadata and controls
130 lines (124 loc) · 5.15 KB
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
Bootstrap: docker
From: nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04
%files
./../libs/tensorboard_logger /tensorboard_logger
./../libs/cppzmq-4.10.0 /cppzmq-4.10.0
./../libs/args-6.4.6 /args-6.4.6
./../libs/json_spirit_v4.08 /json_spirit_v4.08
%post
apt-get -y update
apt-get -y install --reinstall build-essential
apt-get -y install wget
apt-get install -y locales
locale-gen en_US.UTF-8
update-locale LANG=en_US.UTF-8
apt-get install -y autoconf automake libtool curl make unzip git ninja-build
apt-get -y remove --purge --auto-remove cmake
apt-get -y update
apt-get -y install -y software-properties-common lsb-release
apt-get -y clean all
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main"
apt-get -y update
apt-get -y install mesa-utils x11-apps
apt-get -y install libgl1-mesa-glx libgl1-mesa-dri
apt-get -y install cmake
apt-get -y install libboost-all-dev
cd /
apt-get -y install libosmesa6-dev libglfw3
wget -O "mujoco-3.2.0-linux-x86_64.tar.gz" "https://github.com/google-deepmind/mujoco/releases/download/3.2.0/mujoco-3.2.0-linux-x86_64.tar.gz"
mkdir /mujoco
tar -xzf mujoco-3.2.0-linux-x86_64.tar.gz -C /mujoco
cp /mujoco/mujoco-3.2.0/lib/*.so* /usr/local/lib/
cp /mujoco/mujoco-3.2.0/bin/mujoco_plugin/*.so /usr/local/lib/
cp -r /mujoco/mujoco-3.2.0/include/* /usr/local/include/
ldconfig
cd /
apt-get -y install libwayland-dev libxkbcommon-dev xorg-dev
mkdir -p /glfw_3_4
cd /glfw_3_4
wget https://github.com/glfw/glfw/archive/refs/tags/3.4.tar.gz
tar -xvzf 3.4.tar.gz
rm 3.4.tar.gz
cd glfw-3.4
mkdir -p build2 && cmake -B build2 -S . && cmake --build build2 -j
cmake --install build2
cd /
wget https://download.pytorch.org/libtorch/cu124/libtorch-cxx11-abi-shared-with-deps-2.4.1%2Bcu124.zip
unzip libtorch-cxx11-abi-shared-with-deps-2.4.1+cu124.zip
rm libtorch-cxx11-abi-shared-with-deps-2.4.1+cu124.zip
apt-get -y install infiniband-diags ibverbs-utils libibverbs-dev libfabric1 libfabric-dev libpsm2-dev
apt-get install -y openmpi-bin openmpi-common libopenmpi-dev libgtk2.0-dev
apt-get install -y librdmacm-dev libpsm2-dev
apt-get install -y devscripts debhelper fakeroot
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
dpkg -i cuda-keyring_1.1-1_all.deb
apt-get -y update
apt-get -y install cuda-toolkit-12-4
apt-get -y --allow-change-held-packages install libnccl2=2.23.4-1+cuda12.4 libnccl-dev=2.23.4-1+cuda12.4
apt-get -y install ninja-build
apt-get -y install libblas-dev liblapack-dev
apt-get -y install gpg-agent wget
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list
apt-get -y update
apt-get -y install intel-oneapi-mkl
apt-get -y install intel-oneapi-mkl-devel
apt-get -y install libhwloc-dev
apt-get -y install libevent-dev
apt-get -y install software-properties-common
add-apt-repository ppa:ubuntu-toolchain-r/test
apt-get -y update
apt-get -y install --only-upgrade libstdc++6
apt-get -y install libgomp1
apt-get -y install pkg-config
apt-get -y install libtinfo6
apt-get -y install libgtk2.0-dev
apt-get -y install ffmpeg
apt-get -y install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-dev
apt-get -y install libeigen3-dev
apt-get -y install libcanberra-gtk-module libcanberra-gtk3-module
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.13.0/protobuf-cpp-3.13.0.tar.gz
tar -xvzf protobuf-cpp-3.13.0.tar.gz
rm protobuf-cpp-3.13.0.tar.gz
cd protobuf-3.13.0
./autogen.sh
./configure
make -j$(nproc) # Compile using all CPU cores
make install
ldconfig
protoc --version
cd /tensorboard_logger
mkdir -p build3 && cmake -B build3 . && cmake --build build3 -j
cmake --install build3
cd /
apt-get -y install libzmq3-dev
cd /cppzmq-4.10.0
mkdir build3
cd build3
cmake ..
make -j4 install
cd /
cd /args-6.4.6
mkdir -p build3 && cmake -B build3 . && cmake --build build3 -j
cmake --install build3
cd /
cd /json_spirit_v4.08
mkdir -p build3 && cmake -B build3 . && cmake --build build3 -j
cmake --install build3
cd /
# https://docs.opencv.org/4.x/d7/d9f/tutorial_linux_install.html
mkdir -p opencv
cd opencv
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.10.0.zip
unzip opencv.zip
mkdir -p build && cd build
cmake -G Ninja ../opencv-4.10.0
cmake --build .
ninja install
cd /
apt-get clean
rm -rf /var/lib/apt/lists/*
rm -rf /usr/share/doc/* /usr/share/man/*
gcc --version
%runscript