@@ -165,6 +165,48 @@ COPY ./requirements.22.03.txt /tmp/requirements.txt
165
165
RUN python3 -m pip install --no-cache-dir -r requirements.txt && \
166
166
rm -f /tmp/*.whl /tmp/requirements.txt
167
167
168
+ # install bashtop
169
+ WORKDIR /tmp
170
+ RUN git clone https://github.com/aristocratos/bashtop.git && \
171
+ cd bashtop && \
172
+ make install
173
+
174
+ # install git-lfs
175
+ WORKDIR /tmp
176
+ RUN curl -sLO https://github.com/git-lfs/git-lfs/releases/download/v3.1.2/git-lfs-linux-amd64-v3.1.2.tar.gz && \
177
+ tar -zxf git-lfs-linux-amd64-v3.1.2.tar.gz && \
178
+ bash install.sh && \
179
+ rm -rf /tmp/*
180
+
181
+ RUN curl -fL https://github.com/cdr/code-server/releases/download/v4.0.2/code-server-4.0.2-linux-amd64.tar.gz | tar -C /usr/local/lib -xz && \
182
+ mv /usr/local/lib/code-server-4.0.2-linux-amd64 /usr/local/lib/code-server-3.12.0 && \
183
+ ln -s /usr/local/lib/code-server-4.0.2/bin/code-server /usr/local/bin/code-server
184
+
185
+ # Install Open MPI
186
+ RUN mkdir /tmp/openmpi && \
187
+ cd /tmp/openmpi && \
188
+ wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.1.tar.gz && \
189
+ tar zxf openmpi-4.1.1.tar.gz && \
190
+ cd openmpi-4.1.1 && \
191
+ ./configure --enable-orterun-prefix-by-default && \
192
+ make -j $(nproc) all && \
193
+ make install && \
194
+ ldconfig && \
195
+ rm -rf /tmp/openmpi*
196
+ # Create a wrapper for OpenMPI to allow running as root by default
197
+ RUN mv /usr/local/bin/mpirun /usr/local/bin/mpirun.real && \
198
+ echo '#!/bin/bash' > /usr/local/bin/mpirun && \
199
+ echo 'mpirun.real --allow-run-as-root "$@"' >> /usr/local/bin/mpirun && \
200
+ chmod a+x /usr/local/bin/mpirun
201
+
202
+ # Configure OpenMPI to run good defaults:
203
+ RUN echo "btl_tcp_if_exclude = lo,docker0" >> /usr/local/etc/openmpi-mca-params.conf
204
+
205
+ RUN python3 -m pip install --no-cache-dir \
206
+ mpi4py==3.1.3 \
207
+ nni==2.6.1 \
208
+ mlflow==1.24.0 \
209
+ scikit-nni==0.2.1
168
210
169
211
# Install Jupyterlab extensions
170
212
RUN jupyter nbextensions_configurator enable && \
@@ -177,7 +219,8 @@ RUN jupyter nbextensions_configurator enable && \
177
219
jupyter labextension install --no-build @jupyterlab/toc && \
178
220
jupyter nbextension enable execute_time/ExecuteTime && \
179
221
jupyter nbextension enable toc2/main && \
180
- jupyter lab build
222
+ jupyter labextension install @jupyterlab/toc && \
223
+ jupyter lab build
181
224
182
225
RUN apt autoclean && \
183
226
sed -i 's/source \/ usr\/ local\/ nvm\/ nvm.sh//' /etc/bash.bashrc && \
@@ -192,7 +235,7 @@ RUN /usr/bin/python3 -m ipykernel install --display-name "Python 3.8 (NGC 22.03
192
235
193
236
# Backend.AI specifics
194
237
COPY ./service-defs /etc/backend.ai/service-defs
195
- COPY runner-scripts/bootstrap.sh runner-scripts/setup_multinode.py /opt/container/
238
+ COPY ./ runner-scripts/bootstrap.sh runner-scripts/setup_multinode.py /opt/container/
196
239
LABEL ai.backend.kernelspec="1" \
197
240
ai.backend.envs.corecount="OPENBLAS_NUM_THREADS,OMP_NUM_THREADS,NPROC" \
198
241
ai.backend.features="batch query uid-match user-input" \
0 commit comments