Open OnDemand

GenOuest is hosting an instance of Open OnDemand, available at https://ondemand.genouest.org with your GenOuest credentials.

Shell access

Shell access can be launched through the Clusters -> GenOuest cluster Shell access button.
Depending on your ssh key setup, you might be prompted to enter your GenOuest password, or ssh key passphrase (if any).

Usage

Shell access aims to provide a GenOuest access through the browser, and open a session on a genossh.genouest.org clone. As such, it has the same features and limitations. The only difference is that there is no way to upload / download a file through the shell access. To do so, please use the File interface

Resources usage

Please do not launch computations directly inside the shell access. You can instead submit jobs using the srun/sbatch commands.

Files access

A direct access to your files is available using the Files button. Shortcuts to your home, your scratch directory, and the /projects folder are available.

From there, you will be able to manage your files / folder, and upload / download data.

Limitations for large datasets

It is not recommended to use the file interface to upload / download big files, as the connection might break midway. Please consider using the various other options available instead.

OnDemand apps

In addition to the previous features, 4 applications are available on our instance of OnDemand. They will all be launched in a slurm job, and you will be able to select the resources you need for the deployment. You can select the application you need directly from the dashboard, or using the Apps button. You can shutdown a launched app at any point through the My Interactive Sessions button.

Resources management

All apps will be launched for a maximum of 12 hours, to avoid locking resources.
Please note that the same job submission system as the GenOuest cluster is used. As such, if you ask for a lot of resources, you might have to wait a while before accessing your app.

JupyterLab

This app will launch a JupyterLab server inside a SLURM job. Once launched, you will be able to access several pre-installed kernels for your notebooks. You will also have direct access to your GenOuest data. All notebooks are written to your directory of choice, and will persist between sessions.

Currently available kernels are:

You can also open a direct shell session if needed.

Installing python packages

As preinstalled kernels are managed by GenOuest, you will not be able to directly install python packages in the related virtual environment. Instead, pip will try to install packages in your $HOME/.local/lib/pythonXXX folder. This may cause conflicts with your own virtual environnments later on.

To avoid this issue, you can create your own kernels with the packages you need, and launch them through Jupyterlab. For instance, using any bash terminal on GenOuest (either a srun job, or the 'Shell' app on Jupyterlab):

# Source either directly a python version, or a custom conda env if needed for package installation
. /local/env/envpython-3.9.5.sh
# Create a virtualenv somewhere in your home
python -m venv ~/kernel_virtualenv
# Source the created virtual env, and install your packages & the 'ipykernel' package.
. ~/kernel_virtualenv/bin/activate
pip install ipykernel pandas
# Register the new kernel with the name you wish
python -m ipykernel install --user --name "My_new_kernel"
# This new kernel should now be available on the Jupyterlab app. You might need to refresh the page.

Rstudio

This app will launch a Rstudio-server instance inside a SLURM job. At the resources selection step, you will be able to select the R version you need (currently, only R 4.3.3 is available).

You Rstudio session will be launched in your home, and the data will persist between sessions. You will be able to access data from your /projects and /scratch folders.

VScode

This app will launch a VScode session inside a SLURM job. At the resources selection selection step, you will be able to select your starting working directory (defaulting to your home).

MLflow

This app will launch a MLflow instance inside a SLURM job.