Jupyter for HPC
Jupyter - interactive computational environment

Jupyter is an interactive computational environment in the web browser, in which you can combine code execution, rich text, mathematics, plots and rich media in a document called Jupyter Notebook.
Jupyter@JSC: https://jupyter-jsc.fz-juelich.de
Jupyter Homepage: http://www.jupyter.org
Jupyter Blog: http://blog.jupyter.org
Jupyter Notebook Gallery: https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks
Jupyter Notebook - reproducible computational narratives
Jupyter Notebooks are for creating reproducible computational narratives. |
---|
The Jupyter Notebook is based on a set of open standards for interactive computing. Think HTML and CSS for interactive computing on the web. These open standards can be leveraged by third party developers to build customized applications with embedded interactive computing.
-
Share notebooks
Notebooks can be shared with others using email, Dropbox, !GitHub and the Jupyter Notebook Viewer. -
Interactive output
Your code can produce rich, interactive output: HTML, images, videos, LaTeX, and custom MIME types. -
Big data integration
Leverage big data tools, such as Apache Spark, from Python, R and Scala. Explore that same data with pandas, scikit-learn, ggplot2, !TensorFlow. -
Language of choice
The Notebook has support for over 40 programming languages, including Python, C++, Julia, R and Bash.
Get inspired and check these example Jupyter notebooks: https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks |
---|
JupyterLab - advanced interactive development environment

JupyterLab provides a high level of integration between notebooks, documents, and activities.
JupyterLab is the advanced interactive development environment for working with notebooks, code and data and has full support for Jupyter Notebooks. But additionally, JupyterLab enables you to use
- text editors, terminals
- data file viewers
- and other custom components side by side with Jupyter Notebooks in a tabbed work area.
Introduction: https://blog.jupyter.org/jupyterlab-is-ready-for-users-5a6f039b8906
Overview: http://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html
Interface: http://jupyterlab.readthedocs.io/en/stable/user/interface.html
Jupyter Kernel - the computational engine
A Jupyter kernel is a “computational engine” that executes the code contained in a Jupyter Notebook document.
Various kernel have been provided by different groups.
Here is a list of available kernels: https://github.com/jupyter/jupyter/wiki/Jupyter-kernels
In general the Jupyter Kernel live in the system environment, which is loaded for Jupyter itself.
On JUWELS and JURECA currently the following kernel are installed:
- Python
- C++ (14,17,1z)
- Julia
- Bash but you can create your own specialized Jupyter kernel if you like (and need):
Setup your own specialized Jupyter-Kernel
The installed kernels might not suite your needs and you want to switch to a different software stage or want to load additional software modules.
In that case you need to set up your own specialized Jupyter kernel (located in ''${HOME}/.local/share/jupyter/kernels/'').
This can be done in a few steps. For Jupyter-JSC please follow the instructions found here:
https://gitlab.jsc.fz-juelich.de/jupyter4jsc/j4j_notebooks/-/blob/master/001-Jupyter/Create_JupyterKernel_general.ipynb