简单安装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

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

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

如果是cudatoolkit=10.1,则为

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

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

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.9570183753967285
0.14597082138061523

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

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值