目录
cupy的简介
CuPy: NumPy-like API accelerated with CUDA。CuPy是NumPy兼容多维数组在CUDA上的实现。这个包(cupy)是一个源发行版。对于大多数用户,建议使用预构建的wheel 分布。
CuPy是一个开源矩阵库,使用NVIDIA CUDA加速。CuPy使用Python提供GPU加速计算。CUPY使用CUDA相关库,包括 CuBLAS、CUDNN、Curand、CuoSver、CuPaSeSE、Cufft和NCCL,以充分利用GPU架构。图中显示库比比纽比加速。他们中的大多数人在使用CuPy开箱即用的GPU上表现良好。CuPy加速了一些超过100倍的操作,你可以在单个GPU中阅读原始的基准文章CuPy加速(RAPIDS AI)。
cupy的安装
pip install cupy
1. # For CUDA 8.0 2. pip install cupy-cuda80 3. 4. # For CUDA 9.0 5. pip install cupy-cuda90 6. 7. # For CUDA 9.1 8. pip install cupy-cuda91 9. 10. # For CUDA 9.2 11. pip install cupy-cuda92 12. 13. # For CUDA 10.0 14. pip install cupy-cuda100 15. 16. # For CUDA 10.1 17. pip install cupy-cuda101 18. 19. # Install CuPy from source 20. pip install cupy
cupy的使用方法
1. import cupy as cp 2. x = cp.arange(6).reshape(2, 3).astype('f') 3. print(x, x.sum(axis=1)) 4. 5. 6. 7. >>> x = cp.arange(6, dtype='f').reshape(2, 3) 8. >>> y = cp.arange(3, dtype='f') 9. >>> kernel = cp.ElementwiseKernel( 10. ... 'float32 x, float32 y', 'float32 z', 11. ... '''if (x - 2 > y) { 12. ... z = x * y; 13. ... } else { 14. ... z = x + y; 15. ... }''', 16. ... 'my_kernel') 17. >>> kernel(x, y) 18. array([[ 0., 2., 4.], 19. [ 0., 4., 10.]], dtype=float32)