JupyterLab GPU Dashboards
A JupyterLab extension for displaying dashboards of GPU usage.
Built with JupyterLab and Bokeh Server
What's here
This repository contains two sets of code:
- Python code defining a Bokeh Server application that generates the dashboards
in the
jupyterlab_nvdashboard/
directory - TypeScript code integrating these dashboards into JupyterLab in the
src/
directory
You should be able to modify only the Python code to edit the dashboards
without modifying the TypeScript code.
Prerequisites
- JupyterLab 1.0
- bokeh
- pynvml
Installation
This extension has a server-side (Python) and a client-side (Typescript) component,
and we must install both in order for it to work.
Note: Currently nvdashboard does not support Windows
To install the server-side component, run the following in your terminal
pip install jupyterlab-nvdashboard
To install the client-side component, run
jupyter labextension install jupyterlab-nvdashboard
Development
To install the server-side part, run the following in your terminal from the repository directory:
pip install -e .
In order to install the client-side component (requires node version 8 or later), run the following in the repository directory:
jlpm install
jlpm run build
jupyter labextension install .
To rebuild the package and the JupyterLab app:
jlpm run build
jupyter lab build
Publishing
This application is distributed as two subpackages.
The JupyterLab frontend part is published to npm,
and the server-side part to both PyPI and Anaconda (nightlies).
Releases for both packages are handled by gpuCI. Nightly builds are triggered when a push to a versioned branch occurs (i.e. branch-0.5
). Stable builds are triggered when a push to the main
branch occurs.