ACES: Introduction to CuPy: NumPy & SciPy for GPU

Overview

Instructor(s): Jian Tao

Time: March 2026

Location: Online using Zoom

Prerequisite(s): Current ACCESS ID, basic Python skills

CuPy is an open-source array library for GPU-accelerated computing that provides a largely drop-in replacement for NumPy and SciPy, allowing many array programs to run on GPUs by switching imports while keeping idiomatic vectorized code.

CuPy offers NumPy/SciPy-compatible functionality plus GPU-focused features, including FFTs, linear algebra, sparse operations, random number generation, memory pools, streams, and custom kernels, enabling end-to-end acceleration on modern GPU platforms.

This class will provide an introduction to CuPy for accelerating Python array and scientific workflows.

A Registration button will appear here when registration has been opened.

Course Materials

  • Introduction to CuPy: NumPy and SciPy for GPU (Fall 2025): PDF

Participation

During the training, attendees are expected to log in to an HPRC cluster using their own computer and complete the instructor-led examples and exercises.

Learning Objectives and Agenda

Learning Objectives:

  • Learn the basic code elements of CuPy and its NumPy-compatible array API.
  • Access a GPU-enabled environment and verify CuPy installation and device selection.
  • Use CuPy interactively in Jupyter or a Python REPL.
  • Use arithmetic, comparison, and logical operators on CuPy arrays.
  • Understand and apply core CuPy dtypes and array creation/manipulation routines.
  • Work with strings and categorical-like data via vectorized array operations where applicable.
  • Use common data structures with CuPy-backed arrays, including dense arrays and sparse matrices.
  • Write and use basic functions and ufunc-style operations for vectorized GPU computation.