Goals:
Introduce what Jupyter is and why it’s useful
What is Jupyter?
Jupyter, formerly known as an ipython notebook, is a popular tool used in data science and data analysis.
An open-source, browser-based, web application with a wide variety of functions
Allows users to create and share computational documents, called notebooks.
Notebooks facilitate the development of live code that can then be run in a number of different coding languages.
Code can be run step by step in “chunks” called cells.
Users can combine live code cells with other cells - Markdown text, images, plots, and other rich media in a single interactive canvas.
Can produce a wide variety of interactive output including HTML, videos, LaTeX, and custom MIME types.
Can be shared through e-mail, GitHub, or other cloud storage and sharing services.
Easily exported to other formats like, books, slides, web apps, static web pages, or PDF documents.
We see this tool used for a number of things:
To organize work and display the thought process or logic associated with a project
Collaboration
As an IDE (Integrated Development Environment)
Easy to look at or run code line-by-line to simplify debugging
For teaching
Displaying and manipulating data frames
Jupyter Notebooks
Jupyter Notebooks are just the Notebooks themselves (which on their own are great), but lack some of the functionality of Jupyter Lab
Simple interface where users can open and run notebooks, terminals, and text files
A web based interactive environment in which to create Jupyter notebook documents
Launched from a kernel
Jupyter Labs
Jupyter’s “next generation interface.
Includes notebooks, but extends to consoles, terminals, CSV editors, markdown editors, interactive maps, and more.
Has a modular structure, allowing you to open several notebooks and added files like HTML, Text, markdown in the same window - more like an IDE.
Lab also allows users to execute code in a python console
Jupyter Notebook cell types
Markdown
Text Cells allowing you to write and render
Markdown
syntaxThis is where you describe and document your workflow
Code
Code cells allow you to write and run programming code in a language of your choosing (e.g.,
Python
)Languages supported in Jupyter include Python, R, Julia, and many others
On ARCC HPC resources, we support jupyter code in Python and R
NBConvert
Stands for Notebook Convert
Enables the conversion of your notebook to another format as given by the FORMAT string using Jinja templates.
Presenting: PDF
Publishing: LaTeX
Collaboration
Sharing: HTML
Running Jupyter from OnDemand
After logging into OnDemand on your favorite ARCC HPC resource, you can launch Jupyter from the main Dashboard:
Upon request, you are taken to a web form to tailor and specify the Jupyter environment you’d like to run in your session
Jupyter Interface: Select from Jupyter Notebook or Jupyter Lab Account: The associated investment account or project you’re using to run the session Number of hours: How long you plan to use the notebook Number of Nodes: how many nodes you want allocated to perform work while using this notebook. Number of CPUs: how many cores you will need access to perform your work while using this notebook. Amount of Memory: Memory in GB required to run throughout the course of this Jupyer session GPU Type: Which GPU hardware you’d like to perform your work in the Jupyter Notebook or Lab on |