Skip to content

JupyterLab Overview

The JupyterLab Portal application provides access to a Notebook environment with the following language kernels available:

  • Python
  • Julia

JupyterLab also provides tools such as a Terminal client.

Resources

The resources allocated are apportioned depending on the number of GPUs you request.

Loading modules inside a notebook

Conda Environments

Do not load modules in combination with User Conda Environments as you may experience issues. If you would like to switch from using modules to running User Conda Environments, and vice versa, then please shut down your JupyterLab session and relaunch a new interactive batch job.

JupyterLab includes the Jupyter Lmod extension, which allows the loading of application modules (as listed on https://apps.baskerville.ac.uk) from within the Jupyter graphical user interface. Once you’ve entered the JupyterLab session for the first time you will see the following screen, from where you can access the Lmod extension interface by clicking on the blue icon in the list on the left of the window:

Launch Lmod extension screenshot

Once the Lmod extension interface appears you can use the search bar at the top (see arrow 1) to filter the displayed modules and then click on “Load” to load a module and its dependencies (see arrow 2). Note that there will be a delay whilst the modules load, although there is no graphical indication that this is happening.

Lmod extension module loading screenshot

N.B. if your Notebook is active (and has an active kernel) prior to loading a module using the above method then you will need to restart the kernel before the module can be used.

Add packages in Julia

To add packages in Julia, at the top of your Notebook you will need to add the following lines:

using Pkg
Pkg.activate(".julia")

This places the Manifest.toml and Project.toml files needed to add julia packages to your .julia directory. You will need to run the above commands whenever you restart your kernel.

Paths outside the home directory

  • JupyterLab sets the root of its internal file manager as the user’s home directory. To access storage outside your home directory, e.g. Baskerville project storage, you should create a symlink from the required path inside your home directory, using the ln -s command. For example, this can be achieved by executing the following shell command within the cell of a Python notebook:
! ln -s /bask/projects/_initial_/_projectname_ ~/_projectname_  # omit the "!" if executing within a terminal

Where _initial_ is the first letter of the project name.

Debugging

Further to the details outlined on the Portal Job Information docs, JupyterLab creates the following additional file:

  • launch_wrapper.log: for a JupyterLab job this will contain information on the running session