Using GPUs#

The JupyterHubs offered have GPUs available to provide more processing cores for an expansion of parallel processing capabilities. The NCAR JupyterHub has Nvidia A2 Tensor GPUs while the 2i2c JupyterHub utilizes AWS nodes with Nvidia Tesla T4 GPUs. The GPUs can be utilized by selecting a GPU image from the Server Options like in the image seen below:

Note

In order to have the conda environments you install persist you have to utilize the Images that begin with NCAR. The images that begin with Pangeo will not persist. We utilize the Pangeo Image to test functionality for this Pilot and will remove them when the NCAR images have been tested further.

We currently offer a PyTorch & Tensorflow Jupyter image. Allowing multiple users to access GPU resources at the same time is currently being handled with NVIDIA time slicing. The NVIDIA documentation on this feature at this link provides more detail on the exact mechanism on how this is accomplished. The GPU virtualization layer divides the available GPU resources, including processing cores, memory, and other hardware components, into time slices or time intervals. Each time slice represents a portion of the GPU’s processing power and memory. The GPU hypervisor manages the allocation of these time slices to different applications or users. It keeps track of which applications or users have active GPU tasks and assigns time slices to them in a fair and efficient manner. This allows multiple applications or users to share a single GPU, making more efficient use of the hardware and ensuring fair access to GPU resources.

PyTorch Tutorial#

The PyTorch website offers a great introduction in to using PyTorch with example notebooks. It can be found at this link to learn the PyTorch basics. The example notebooks can be drag and dropped in to a JupyterHub session and ran with Kernels available on that JupyterHub. On the PyTorch image provided the cisl-cloud-base Python kernel would have all the packages required to get started.

TensorFlow Tutorial#

The TensorFlow website offers a great introduction in to using TensorFlow with example notebooks. It can be found at this link to learn the TensorFlow basics. The example notebooks can be drag and dropped in to a JupyterHub session and ran with Kernels available on that JupyterHub. On the TensorFlow image provided the cisl-cloud-base Python kernel would have all the packages required to get started.

Packages used in Tensorflow image#

The living list of packages can be found directly at this link to the GitHub repository

Packages used in the PyTorch image#

The living list of packages can be found directly at this link to the GitHub repository