ACES: Introduction to CuPy: NumPy & SciPy for GPU
Overview
Instructor(s): Jian Tao
Time: Tuesday, November 11, 2025 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
Presentation slides
- Introduction to CuPy: NumPy and SciPy for GPU (Fall 2025) PDF
Learning Objectives
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.