当前位置:   article > 正文

简单安装cupy

安装cupy

Numpy已经成为Python社区的礼物。它允许数据科学家,机器学习从业人员和统计学家以简单高效的方式处理矩阵格式的大量数据。

就速度而言,即使单独使用,Numpy也已经是Python的重要一步。每当您发现Python代码运行缓慢时,尤其是在看到大量for循环的情况下,将数据处理移至Numpy并使其向量化以最快的速度进行工作总是一个好主意!

即使这样,Numpy仍仅在CPU上运行。对于通常具有8个或更少内核的消费类CPU,并行处理量以及因此可以实现的加速量受到限制。

那就是我们的新朋友CuPy进来的地方!

什么是CuPy?
CuPy是一个库,可利用CUDA GPU库在Nvidia GPU上实现Numpy数组。通过该实现,由于GPU具有许多CUDA内核,因此可以实现卓越的并行速度。

CuPy的界面是Numpy的镜像,在大多数情况下,可以用作直接替换。只需将您的Numpy代码替换为兼容的CuPy代码,即可实现GPU加速。CuPy将支持Numpy进行的大多数数组操作,包括索引,广播,数组数学以及各种矩阵转换。

我的测试硬件配置

i7 6700K CPU
1080 Ti GPU
  • 1
  • 2

首先安装好cudatoolkit和cudnn,我的版本为cudatoolkit=10.0.130,cudnn=7.6.5,然后对应安装

pip install cupy-cuda100 -i https://pypi.tuna.tsinghua.edu.cn/simple 
  • 1

如果是cudatoolkit=10.1,则为

pip install cupy-cuda101 -i https://pypi.tuna.tsinghua.edu.cn/simple 
  • 1

安装完成如下:
在这里插入图片描述
测试代码为:

import numpy as np
import cupy as cp
import time

# Numpy and CPU

x_cpu = np.ones((1000, 1000, 1000))

# CuPy and GPU

x_gpu = cp.ones((1000, 1000, 1000))

# Numpy and CPU
s = time.time()
x_cpu *= 5
x_cpu *= x_cpu
x_cpu += x_cpu
e = time.time()
print(e - s)

# CuPy and GPU
s = time.time()
x_gpu *= 5
x_gpu *= x_gpu
x_gpu += x_gpu
cp.cuda.Stream.null.synchronize()
e = time.time()
print(e - s)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

结果为:

1.9570183753967285
0.14597082138061523
  • 1
  • 2

可以看出cupy处理的更快,但如果数据计算不大,数据不大,用numpy也慢不了多少,至于用cupy还是numpy可以两者多试试。
本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/weixin_45092662。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/549851
推荐阅读
相关标签
  

闽ICP备14008679号