Welcome to the CUPY-Xarray Notebooks repository for Scipy-2023! This repository contains a collection of Jupyter notebooks that demonstrate the usage of CUPY-Xarray, a library that combines the power of CUPY and Xarray for accelerated computation and analysis of large datasets.
The materials and notebooks in this tutorial is published as a Jupyter book here.
CUPY-Xarray is a Python library that leverages Cupy, a GPU array library, and Xarray, a library for multi-dimensional labeled array computations, to enable fast and efficient data processing on GPUs. By combining the capabilities of Cupy and Xarray, CUPY-Xarray provides a convenient interface for performing accelerated computations and analysis on large multidimensional datasets.
This repository contains the following Jupyter notebooks:
- Basics of CuPy: This notebook provides an introduction on CuPy and the distinctive features of CuPy compared to NumPy.
- Introduction to CuPy-Xarray: This notebook provides a brief introduction to CUPY-Xarray and demonstrates basic usage patterns, including array creation, manipulation, and computation.
- Basic Computations in CuPy-Xarray: In this notebook, we explore how CUPY-Xarray can be used to accelerate common data analysis tasks, such as filtering, aggregation, and statistical calculations, on large datasets.
- High-level Xarray Functions: CuPy vs. NumPy : In this notebook, we are going to explore high-level Xarray functions such as groupby, rolling mean, and weighted mean, and compared their execution times with traditional NumPy-based implementations.
- Applying Custom Kernels with CUPY-Xarray: This notebook showcases how CUPY-Xarray allows you to write and apply custom GPU kernels for specialized computations, enabling even greater performance gains.
CuPy User Guide
Xarray User Guide
Cupy-Xarray Github
NCAR GPU Workshop
- NCAR CISL/CSG Team
- ESDS Initiative