【矩阵计算GPU加速】numpy 矩阵计算利用GPU加速,cupy包

【矩阵计算GPU加速】numpy 矩阵计算利用GPU加速,cupy包CuPy项目地址:https://cupy.chainer.org/ 这个项目本来是用来支持Chainer这个深度学习框架的,但是开发者把这个“GPU计算包”单独分出来了,方便了大家!!!来看几个例子:importnumpyasnpimportcupyascpimporttimex=np.ones((1024,512,4,4))*1024.y=np.one…

大家好,又见面了,我是你们的朋友全栈君。

CuPy 项目地址:https://cupy.chainer.org/ 

这个项目本来是用来支持Chainer这个深度学习框架的,但是开发者把这个“GPU 计算包”单独分出来了,方便了大家!!!

来看几个例子:

import numpy as np
import cupy as cp
import time

x=np.ones((1024,512,4,4))*1024.
y=np.ones((1024,512,4,1))*512.3254
time1=time.time()
for i in range(20):
    z=x*y
print('average time for 20 times cpu:',(time.time()-time1)/20.)

x=cp.ones((1024,512,4,4))*1024.
y=cp.ones((1024,512,4,1))*512.3254
time1=time.time()
for i in range(20):
    z=x*y
print('average time for 20 times gpu:',(time.time()-time1)/20.)

这里之所以要弄个20次的平均,是因为,最开始的几次计算会比较慢!后面的计算速度才是稳定的,cpu和gpu都有一定这个特性,这个原因cpu和gpu是不同!和“操作系统的本身算法、GPU工作方式”等有关系吧?

【矩阵计算GPU加速】numpy 矩阵计算利用GPU加速,cupy包

接下来,我们把矩阵规模减小

x=np.ones((4,4,4,4))*1024.
y=np.ones((4,4,4,1))*512.3254

x=cp.ones((4,4,4,4))*1024.
y=cp.ones((4,4,4,1))*512.3254

【矩阵计算GPU加速】numpy 矩阵计算利用GPU加速,cupy包

GPU失去了优势,所以也不是所有计算都需要放到gpu上来加速的!有时候cpu算一算也是可以的!

cupy种几乎包含了numpy种通常有的很多function了!所以基本上再用的时候只要把‘np’ 换成‘cp’就好了!很方便

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153977.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 怎样用Google APIs和Google的应用系统进行集成(3)—-调用Google 发现(Discovery)API的RESTful服务

    怎样用Google APIs和Google的应用系统进行集成(3)—-调用Google 发现(Discovery)API的RESTful服务

    2021年11月30日
    43
  • html空格代码_html中空格怎么表示

    html空格代码_html中空格怎么表示html中空格代码的写法一:&nbsp(不换行空格)html中空格代码的写法二:&ensp(半角空格)html中空格代码的写法三:&emsp(全角空格)html中空格代码的写法四:&thinsp(窄空格)html中空格代码的写法五:&zwnj(零宽不连字)说明:&zwnj是一个不打印字符,放在电子文本的两个字符之间,抑制本来会发生的连字,而是以这两个字符原本的字形来绘制。html中空格代码的写法六:&zwj(零宽连字)说明:&amp

    2022年9月22日
    4
  • oralce11g 注冊表卸载20140810

    oralce11g 注冊表卸载20140810

    2022年1月27日
    68
  • 爬虫框架Scrapy安装

    爬虫框架Scrapy安装免责声明:本文所记录的技术手段及实现过程,仅作为爬虫技术学习使用,不对任何人完全或部分地依据本文的全部或部分内容从事的任何事情和因其任何作为或不作为造成的后果承担任何责任。Scrapy爬虫框架用Python编写的功能强大,应用范围最广,最流行的爬虫框架,框架提供了大量的爬虫相关的组件,能够方便快捷的完成各网站的爬取。01Scrapy安装打开scrapy官方网站【scrapy.org】,目前最新版本为2.5:按照官方提供的脚本,在命令行执行安装:pipinst..

    2026年1月18日
    3
  • Oracle中的MONTHS_BETWEEN函数

    Oracle中的MONTHS_BETWEEN函数Syntax:MONTHS_BETWEEN(date1,date2)Purpose:返回两个日期之间的月份数1.如果date1>date2,则返回一个正数;2.如果date1<date2,则返回一个负数;3.如果date1=date2,则返回一个整数0;MONTHS_BETWEENreturnsnumberofmonthsbetweendates…

    2022年7月13日
    30
  • IDEA错误:Cannot start compilation: the output path is not specified for module “Java“. Specify the out

    IDEA错误:Cannot start compilation: the output path is not specified for module “Java“. Specify the outidea 运行没有 out 文件夹项目运行或出现这样的错误其实这个错误是因为没有设置 output 的路径 只要修改两个地方的设置就可以了 1 点击 idea 左上角 File2 选择 ProjectStruc 在 Modules 设置里勾选 Inheritproje 4 设置 Project 中的 Projectcompi 5 选择 Project 的路径 out 比如说我的就是 D ideaproject javaSE out 将这

    2025年11月18日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号