BinAC/Software/Jupyterlab: Difference between revisions

From bwHPC Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 98: Line 98:
[[File:Binac_jupyterlab_browser_shutdown.png | 800px | center ]]
[[File:Binac_jupyterlab_browser_shutdown.png | 800px | center ]]


== Add new Kernels ==
= Managing Kernels =


== Add a new Kernel ==
TODO

There is only a Python 3 kernel installed when you first start JupyterLab.
Because there are nearly endless combinations of Python versions and packages we encourage you to install the software yourself via Conda.

This is an example how you create new kernels for Jupyterlab. It's so simple that three commmands suffice:

<pre>
conda create --name kernel_env python=3.8 pandas numpy matplotlib ipykernel # 1
conda activate kernel_env # 2
python -m ipykernel install --user --name pandas --display-name="Python 3.8 (pandas)" # 3

# Installed kernelspec pandas in /home/tu/tu_tu/tu_iioba01/.local/share/jupyter/kernels/pandas
</pre>

The first command creates a new Conda environment called <code>kernel_env</code> and installs a specific Python packages plus a few Python packages. It's important that you also install <code>ipykernel</code>. We need <code>ipykernel</code> later to create the JupyterLab kernel.

The second command activates the <code>kernel_env</code> Conda environment.
The third command creates the new JupyterLab kernel. The kernels are stored in your Home directory on BinAC: <code>/$HOME/.local/share/jupyter/kernels/</code>:

<pre>
$ ls -lh $HOME/.local/share/jupyter/kernels/
total 0
drwxr-xr-x 2 tu_iioba01 tu_tu 109 Jul 26 10:38 pandas
</pre>

Refresh the JupyterLab broswer tab and the kernel should now appear in the JupyterLab user interface.



== Remove a Kernel ==

TOOD

Revision as of 10:44, 26 July 2024

The main documentation is available via module help devel/jupyterlab on the cluster. Most software modules for applications provide working example batch scripts.


Description Content
module load devel/jupyterlab
License JupyterLab License
Links Homepage
Graphical Interface Yes

Description

JupyterLab is a web-based interactive development environment for notebooks, code, and data.

Usage

Start JupyterLab

The module provides a job script for starting a JupyterLab instance on the BinAC inter queue. Load the module and copy the job script into your workspace:

module load devel/jupyterlab/7.2.1
cp $JUPYTERLAB_EXA_DIR/jupyterlab.pbs.template jupyterlab.pbs

You can adjust the following settings in the job script according to your needs.

#PBS -l nodes=1:ppn=1          # adjust the number of cpu cores (ppn)
#PBS -l mem=2gb
#PBS -l walltime=6:00:00

Please note the restrictions of the inter queue:

  • max. walltime: 12 hours
  • max. cores: 28
  • max jobs per user: 1

Then submit the job.

jobid=$(qsub jupyterlab.pbs)

Create SSH tunnel

The compute node on which JupyterLab is running is not reachable from your workstation. Hence you have to create an SSH tunnel from your workstation to the compute node through a BinAC login node.

The job's standard output file (Jupyterlab.<jobid>) contains the SSH command for this tunnel. Please note that details like IP, port number, and access URL will vary.

cat JupyterLab.o${jobid}
JupyterLab connection info

Linux Users

Copy the ssh -N -L ... command and execute it in a shell on your workstation. After a successfull authentication the SSH tunnel is ready to use. The ssh command does not return a result. If there is no error message everything should be fine:

Creation of SSH tunnel on Linux

Windows Users

TODO

Access JupyterLab

JupyterLab is now running on a BinAC compute node and you created an SSH tunnel from your workstation to that compute node. Open a browser and copy the URL with the access token into the address field:

Binac jupyterlab browser url.png

Your browser should now display the JupyterLab user interface:

Binac jupyterlab browser lab.png

Shut Down JupyterLab

You can shut down JupyterLab via File -> Shut Down. Please note that this will also terminate your compute job on the BinAC!

Binac jupyterlab browser shutdown.png

Managing Kernels

Add a new Kernel

There is only a Python 3 kernel installed when you first start JupyterLab. Because there are nearly endless combinations of Python versions and packages we encourage you to install the software yourself via Conda.

This is an example how you create new kernels for Jupyterlab. It's so simple that three commmands suffice:

conda create --name kernel_env python=3.8 pandas numpy matplotlib ipykernel             # 1
conda activate kernel_env                                                               # 2
python -m ipykernel install --user --name pandas --display-name="Python 3.8 (pandas)"   # 3

# Installed kernelspec pandas in /home/tu/tu_tu/tu_iioba01/.local/share/jupyter/kernels/pandas

The first command creates a new Conda environment called kernel_env and installs a specific Python packages plus a few Python packages. It's important that you also install ipykernel. We need ipykernel later to create the JupyterLab kernel.

The second command activates the kernel_env Conda environment. The third command creates the new JupyterLab kernel. The kernels are stored in your Home directory on BinAC: /$HOME/.local/share/jupyter/kernels/:

$ ls -lh $HOME/.local/share/jupyter/kernels/
total 0
drwxr-xr-x 2 tu_iioba01 tu_tu 109 Jul 26 10:38 pandas

Refresh the JupyterLab broswer tab and the kernel should now appear in the JupyterLab user interface.


Remove a Kernel

TOOD