Comments (5)
It's mostly up to the container image, there's nothing specific to SLURM/enroot.
You can checkout the NGC images, they have Tensorboard and Jupyter included: https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/rel_19.08.html#rel_19.08
from enroot.
How port forwarding/binding is done with enroot then? I haven't seen any documentation about this. In Docker: https://runnable.com/docker/binding-docker-ports. This port forwarding thing is needed for Jupyter and Tensorboard.
Regarding a GUI application in general, it is not simple in Docker. People makes bridge and wrapper to run GUI programs. I actually tried with a modfied docker image (see below) and ran with x11docker. It works with Docker but not with enroot. The following Dockerfile is for building a x11docker-compatible image.
FROM nvcr.io/nvidia/cuda:9.2-runtime-ubuntu16.04
# Build command:
# docker build -t vle/mate.bio:2019 .
# FROM nvcr.io/nvidia/cuda:10.1-runtime-ubuntu18.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-mark hold iptables && \
apt-get -y dist-upgrade && apt-get autoremove -y && apt-get clean
RUN apt-get install -y dbus-x11 procps psmisc
# OpenGL / MESA
RUN apt-get install -y mesa-utils mesa-utils-extra libxv1 kmod xz-utils
# Language/locale settings
# replace en_US by your desired locale setting,
# for example de_DE for german.
ENV LANG en_US.UTF-8
RUN echo $LANG UTF-8 > /etc/locale.gen
RUN apt-get install -y locales && update-locale --reset LANG=$LANG
# some utils to have proper menus, mime file types etc.
RUN apt-get install -y --no-install-recommends xdg-utils xdg-user-dirs \
menu menu-xdg mime-support desktop-file-utils
# Mate desktop core
RUN apt-get install -y --no-install-recommends mate-desktop-environment-core
# additional goodies. Last 3 packages are for CST
RUN apt-get install -y fortunes mate-applets mate-notification-daemon \
mate-system-monitor mate-utils vim emacs wget libglu-dev file xvfb
# Set default python back to 3.5
# RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.5 1 && \
# update-alternatives --set python /usr/bin/python3.5
# startscript to copy dotfiles from /etc/skel
# runs either CMD or image command from docker run
RUN echo '#! /bin/sh\n\
[ -e "$HOME/.config" ] || cp -R /etc/skel/. $HOME/ \n\
exec $* \n\
' > /usr/local/bin/start
RUN chmod +x /usr/local/bin/start
ENTRYPOINT ["/usr/local/bin/start"]
CMD ["mate-session"]
ENV DEBIAN_FRONTEND newt
from enroot.
There is no port forwarding in enroot, whatever port your application is listening on is the one you should connect to.
GUI applications are outside the scope of enroot, it's up to the container image or the admin to figure out what they need and configure whatever is necessary. I don't know what x11docker tries to do, but there are several way to do it, for example:
- VNC (https://gitlab.com/nvidia/container-images/samples/blob/master/opengl/ubuntu16.04/turbovnc-virtualgl/Dockerfile)
- X11 forwarding (e.g. using SLURM)
- Reuse the host Xorg server (e.g. https://github.com/NVIDIA/enroot/blob/master/doc/usage.md#example)
from enroot.
Are GUI applications or the ability to bind ports available at this time with enroot?
from enroot.
Are GUI applications available at this time with enroot?
Yes, as shown in the linked example, here would be how to run xeyes
:
enroot start --env DISPLAY --mount /tmp/.X11-unix:/tmp/.X11-unix ubuntu.sqsh bash
root@host:/# apt update && apt install -y x11-apps
root@host:/# xeyes
from enroot.
Related Issues (20)
- Wrong number of nproc, when running PyTorch container with cpus-per-task set HOT 3
- issues with root file system inside the enroot container HOT 1
- enroot-switchroot: failed to execute: /bin/sh: No such file or directory HOT 2
- Enabling the creation of TUN devices HOT 1
- too many open files HOT 1
- Squashfs support in --container-mount HOT 2
- Cannot compile from source HOT 1
- How to start an enroot to support fuse?
- Exposes api outside of enroot container
- Severe performance implication by setting global OMP_NUM_THREADS=1 HOT 5
- Driver compatibility issues when reusing a container HOT 4
- enroot import - Cannot write: no space left on device HOT 3
- cgroups are mounted twice HOT 3
- Fix for AWS ECR issue not released? HOT 5
- Enroot not following /etc/enroot/enroot.conf HOT 2
- Shadow hook segmentation faults when starting recent images HOT 15
- Seeing an issue with libnvidia-ml.so HOT 1
- Question about data access. HOT 1
- PPC for 3.5.0 release missing HOT 1
- `enroot-nsenter: failed to create user namespace: Invalid argument` with a user that has a large uid number HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from enroot.