This is an old revision of the document!


The Web Portal for Hábrók is now available, but some functionality is still lacking. For instance, the interactive apps for remote desktop, MATLAB, COMSOL, TensorFlow, and PyTorch are not available yet.

Web Portal

We have implemented a new web portal for Hábrók, based on software developed at the Ohio Supercomputer Center, called OpenOnDemand (affectionately known as OOD). Using your username and password just as you would do on Hábrók, you can login to this portal at the following address:

https://portal.hb.hpc.rug.nl

Important to know is that the “Log Out” menu item doesn’t do what you would expect, i.e. log you out. To actually log out, you would have to close the browser session, which is why the developers of OpenOnDemand suggest using the incognito/private mode of your preferred browser.

  1. If you already have a Hábrók account, you can just go to https://portal.hb.hpc.rug.nl and click on the <html></html> Login button at the top-right corner. You will be prompted to enter your username, password and MFA token, using the RUG single sign on page, after which you will be logged in to the Web Portal.
  2. If you don't have a Hábrók account, then go the IRIS support system to request an account (more information at the "Accounts and policies" page). Once your account has been added to Hábrók, follow from step 1 here to login.

Once logged in, you will be presented with a dashboard.

Here, in addition the “Message of the Day” that you see when you ssh into Hábrók, we will also display messages relevant only to the web portal (such as any planned maintenance of the portal).

The menu has several items, the most useful ones being:

  • Files
  • Jobs
  • Clusters
  • Interactive Apps
  • My Interactive Sessions

In the Files menu you have access to your /homeN, /projects and /scratch folders, as well as any group folders in /scratch for groups you belong to, and which are names as hb-<group-name>. When accessing any of the submenus in Files, the corresponding folder will be opened in a file explorer in a new browser tab. From here you can navigate, perform file operations (copy, delete, etc.), view and even edit files (the file editor has syntax highlighting for a large number of text file formats).

In the Jobs menu, there are two subitems: Active Jobs and Job Composer. The Job Composer allows you to define a submit a job directly from the web portal, but at the moment it is a bit cumbersome and counter-intuitive in our opinion, so we do not recommend using it just yet. The Active Jobs provides and overview of jobs on the cluster, either for yourself or all users. It is similar to the squeue from the command line.

This menu provides shell access to the Hábrók login and interactive nodes directly in your web browser! There’s not much to say about this, it gives you all the functionality that you have from the command line.

This is where things become more interesting. At the moment we have a single interactive app (with more to come), which you can launch as jobs from this menu:

Jupyter Notebook

This app will launch a Jupyter notebook on a compute node and will allow you to connect to it and run notebooks. It supports Python 3.6.4 (CUDA and non-CUDA), Python 3.7.2, 3.7.4, and R 3.6.1.

Python

Before launching the Jupyter notebook, this interactive app loads two modules: IPython and TensorFlow (versions vary). IPython already contains a lot of Python packages, including pandas, scipy, etc. Nevertheless, you might want to build you own virtual environments and have them available in the Jupyter notebook.

Building the Python virtual environment

We suggest you put your Python virtual environment on the /data filesystem, rather than /home, since the number of files can be quite high, particularly if you have several virtual environments. Before building the virtual environment, you need to load the appropriate module:

module load <ipython_version>

where <ipython_version> should be replaced by the appropriate IPython version. We support the following versions:

  • <ipython_version> = IPython/6.4.0-foss-2018a-Python-3.6.4 for Python 3.6.4 and Python 3.6.4 CUDA
  • <ipython_version> = IPython/7.7.0-foss-2019a-Python-3.7.2 for Python 3.7.2
  • <ipython_version> = IPython/7.9.0-foss-2019b-Python-3.7.4 for Python 3.7.4
  • <ipython_version> = IPython/7.9.0-fosscuda-2019b-Python-3.7.4 for Python 3.7.4 GPU

Now build a virtual environment in /data/$USER/.envs:

python3 -m venv /data/$USER/.envs/my_env

Activate the virtual environment you just built:

source /data/$USER/.envs/my_env/bin/activate

Optionally, you can upgrade the version of pip for you new virtual environment, to suppress the warning that you will get anytime you install a new package:

pip install --upgrade pip

Before your are able to build a Jupyter Notebook kernel for your new virtual environment, there are a few additional packages that you need to install. The precise list of packages will depend on which IPython module you loaded, so here are the different options:

  • IPython/6.4.0-foss-2018a-Python-3.6.4: pip install decorator
  • IPython/7.7.0-foss-2019a-Python-3.7.2: pip install six decorator pygments python-dateutil
  • IPython/7.9.0-foss-2019b-Python-3.7.4: pip install six decorator pygments python-dateutil
  • IPython/7.9.0-fosscuda-2019b-Python-3.7.4: pip install six decorator pygments python-dateutil

There may be a few warnings about missing packages, so you can optionally install also the following: pip install jinja2 jupyter-contrib-core. These are not strictly required, but we do suggest you install them nevertheless.

Finally, you can generate a Jupyter Notebook kernel from this virtual environment:

python -m ipykernel install --user --name=my_env

You can check that the kernel has been properly generated by having a look at its file, which is usually in $HOME/.local/share/jupyter/kernels/my_env/kernel.json. If you see a reference to your virtual environment in this file, something like /data/$USER/.envs/my_env/bin/python, this means that everything is properly setup.

That's it! You have now access to the virtual environment you just built from the Jupyter Notebook, through a kernel named my_env (You can, of course, use any name you please).

Any packages you install in this virtual environment will be available from the Jupyter Notebook immediately. We suggest you use a requirements.txt file to keep track of the packages you've installed.

You can now also choose which filesystem Jupyter starts in, through a dropdown box. The options are /home/$USER/, /data/$USER, /scratch/$USER and any group directory you have in /data.

The Web Portal is still in the test phase, and we would appreciate if you send any feedback you have to hpc@rug.nl, with the subject line including “OOD Portal”.

Enjoy the Web Portal!