Skip to content

xarray-contrib/cupy-xarray

Folders and files

NameName
Last commit message
Last commit date
Sep 3, 2024
Sep 3, 2024
Nov 27, 2024
Nov 27, 2024
Jul 22, 2020
Jun 21, 2024
Jan 7, 2025
Aug 17, 2022
Jul 26, 2024
May 20, 2021
Jun 28, 2024
Nov 27, 2024
Nov 27, 2024
Jun 28, 2024
Aug 17, 2022

Repository files navigation

cupy-xarray

Important

⚠️ This project is looking for maintainers and contributors. Come help out!

GitHub Workflow CI Status pre-commit.ci status Documentation Status

PyPI Conda-forge

NASA-80NSSC22K0345

Interface for using cupy in xarray, providing convenience accessors.

Installation

cupy-xarray will use an existing cupy installation, hence cupy needs to be installed manually! Please follow cupy's install instructions at https://docs.cupy.dev/en/stable/install.html.

From anaconda:

conda install cupy-xarray -c conda-forge

From PyPI:

pip install cupy-xarray

The latest version from Github:

pip install git+https://github.com/xarray-contrib/cupy-xarray.git

Usage

import xarray as xr
import cupy_xarray  # This registers the `DataSet.cupy` and `DataArray.cupy` namespaces but is not used directly

ds = xr.tutorial.load_dataset("air_temperature.nc")
type(ds.air.data)  # numpy.ndarray

%timeit ds.air.mean()  # 8.56 ms ± 15.6 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

ds = ds.cupy.as_cupy()  # Also available via convenience method ds.as_cupy()
type(ds.air.data)  # cupy.core.core.ndarray

%timeit ds.air.mean()  # 2.14 ms ± 21.4 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

ds = ds.as_numpy()
type(ds.air.data)  # numpy.ndarray