網站|安裝|教程|範例|文檔| API 參考|論壇
CuPy 是一個與 NumPy/SciPy 相容的陣列函式庫,用於使用 Python 進行 GPU 加速運算。 CuPy 可作為在 NVIDIA CUDA 或 AMD ROCm 平台上執行現有 NumPy/SciPy 程式碼的直接替代品。
> >> import cupy as cp
> >> x = cp . arange ( 6 ). reshape ( 2 , 3 ). astype ( 'f' )
> >> x
array ([[ 0. , 1. , 2. ],
[ 3. , 4. , 5. ]], dtype = float32 )
> >> x . sum ( axis = 1 )
array ([ 3. , 12. ], dtype = float32 )
CuPy 還提供對低階 CUDA 功能的存取。您可以透過 RawKernels 將ndarray
傳遞給現有的 CUDA C/C++ 程序,使用 Streams 來提高效能,甚至直接呼叫 CUDA Runtime API。
二進位套件(輪子)可用於 PyPI 上的 Linux 和 Windows。為您的平台選擇正確的軟體包。
平台 | 建築學 | 命令 |
---|---|---|
CUDA 11.x (11.2+) | x86_64 / aarch64 | pip install cupy-cuda11x |
CUDA 12.x | x86_64 / aarch64 | pip install cupy-cuda12x |
ROCm 4.3(實驗) | x86_64 | pip install cupy-rocm-4-3 |
ROCm 5.0(實驗) | x86_64 | pip install cupy-rocm-5-0 |
筆記
若要安裝預發行版,請附加--pre -U -f https://pip.cupy.dev/pre
(例如, pip install cupy-cuda11x --pre -U -f https://pip.cupy.dev/pre
)。
Conda-Forge 上也提供適用於 Linux 和 Windows 的二進位套件。
平台 | 建築學 | 命令 |
---|---|---|
CUDA | x86_64 / aarch64 / ppc64le | conda install -c conda-forge cupy |
如果您需要精簡安裝(無需安裝 CUDA 依賴項),您可以執行conda install -c conda-forge cupy-core
。
如果您需要使用特定的 CUDA 版本(例如 12.0),您可以使用cuda-version
元包來選擇版本,例如conda install -c conda-forge cupy cuda-version=12.0
。
筆記
如果您在從conda-forge
安裝 CuPy 時遇到任何問題,請隨時向 cupy-feedstock 報告,我們將協助調查這是否只是conda-forge
配方中的包裝問題或 CuPy 中的實際問題。
使用 NVIDIA Container Toolkit 運行 CuPy 容器映像。
$ docker run --gpus all -it cupy/cupy
MIT 許可證(請參閱LICENSE
文件)。
CuPy 是基於 NumPy 的 API 和 SciPy 的 API 設計的(請參閱docs/source/license.rst
檔案)。
CuPy 由 Preferred Networks 和社區貢獻者開發和維護。
奧田涼介、海野裕也、西野大輔、日戶翔平和克里斯曼‧盧米斯。 CuPy:用於 NVIDIA GPU 運算的 NumPy 相容庫。第三十一屆神經資訊處理系統年會 (NIPS) 機器學習系統 (LearningSys) 研討會論文集,(2017)。 [PDF]
@inproceedings { cupy_learningsys2017 ,
author = " Okuta, Ryosuke and Unno, Yuya and Nishino, Daisuke and Hido, Shohei and Loomis, Crissman " ,
title = " CuPy: A NumPy-Compatible Library for NVIDIA GPU Calculations " ,
booktitle = " Proceedings of Workshop on Machine Learning Systems (LearningSys) in The Thirty-first Annual Conference on Neural Information Processing Systems (NIPS) " ,
year = " 2017 " ,
url = " http://learningsys.org/nips17/assets/papers/paper_16.pdf "
}
從 v13.0.0 開始,cuSignal 現在是 CuPy 的一部分。 ↩