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:
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.
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