Singularity

From Robin

(Difference between revisions)
Jump to: navigation, search
Vegardds (Talk | contribs)
(Ny side: = Running containers on IFIs clients! = Do you want to use ROS/openpose/bare bone Ubuntu/bare bone Mint/ etc.? <code>singularity</code> is the software for you! = Use-case: = Rather than…)
Newer edit →

Revision as of 11:12, 23 November 2021

Contents

Running containers on IFIs clients!

Do you want to use ROS/openpose/bare bone Ubuntu/bare bone Mint/ etc.? singularity is the software for you!

Use-case:

Rather than talking about what singularity is, lets look into use-cases:

1: Running ROS and robins new Tiago-robot in a simulator environment:

When using one of the platforms available in ROBIN, it makes sense to have a standardized setup to get you started in your research activities. We have created a (currently) small library of prebuilt singularity images (.sif-files) that can be run with a single command:

$ singularity exec --nv -p /projects/robin/programs/sing-con/ros-melodic-pal/ros-melodic-pal.sif bash -c 'source /opt/ros/melodic/setup.bash; source /tiago_public_ws/devel/setup.bash; roslaunch tiago_2dnav_gazebo tiago_mapping.launch public_sim:=true robot:=steel'

See the appended singularity_tiago_ROS.png file for output or check out: https://github.uio.no/robin-engineer/tiago_sim_setup

2: Course setups

Starting out with a bare bone ROS container, the students can build their ROS environments themself starting with:

$ singularity shell /projects/robin/programs/sing-con/ros-kinetic/ros-kinetic-desktop-full.sif

Now, the user can build their own ROS setup:

$ source /opt/ros/kinetic/setup.sh
$ printenv | grep ROS

See appended singularity_crustcrawler.png or check out: https://github.uio.no/robin-engineer/singularity_crustcrawler_setup

3: Running openpose:

Let's try a specific software that has a lot of dependancies in driver and python-modules; namly openpose. This particular container requires a specific range of Nvidia GPUs. One of the GPU types openpose works with is GTX1080Ti. On rudolph.ifi.uio.no we have three GTX1080Ti. Run openpose's demo: (remember to run on rudolph)

$ singularity exec --nv -p /projects/robin/programs/sing-con/openpose/openpose.sif bash -c 'cd /openpose/; ./build/examples/openpose/openpose.bin'

See the appended singularity_openpose.png or check out: https://github.uio.no/robin-engineer/openpose_singularity/

4: Building your own containers:

Do you want a custom setup? Feel free to build your own containers:

$ singularity build --remote openpose.sif openpose.def

Singularity lets you build from docker hub (to name one) if you wish.

Portability and security

The portability is one of the great features of running containers. You can run on your desktop at your desk, run on one of our Deep learning workstations or run on HPC such as robin-hpc.

When using the IFI RHEL clients, you have full backup of all your code and date, and good security.

Interested?

You can read more about singularity on sylabs.io or try out the commands mentioned above yourself.

Personal tools
Front page