ACES: Introduction to CuPy: NumPy & SciPy for GPU
Overview
Instructor(s): Jian Tao
Time: Tuesday, March 31, 2026 1:30PM-4:00PM CT
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.
Course Materials
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.
