【矩阵计算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’就好了!很方便

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 画廊效果的ViewPager实现(附带无限自动轮播)[通俗易懂]

    画廊效果的ViewPager实现(附带无限自动轮播)[通俗易懂]废话不多说,先上效果图根据效果所示,第一步实现适配器,完成无限循环首先做数据上的处理publicstaticclassLoopViewPagerAdapterextendsPagerAdapter{ …..LoopViewPagerAdapter(Contextcontext,ArrayList<Integer>imgIds){…

  • api数据接口文档_接口文档示例

    api数据接口文档_接口文档示例本文主要是提供了一个接口文档的范文,内容修订历史、目录、时序图、接口要素描述、接口说明、使用示例、字典、FAQ。

    2022年10月31日
  • fsync、synchronous_commit 的简单测试

    fsync、synchronous_commit 的简单测试fsync(boolean)如果打开这个参数,PostgreSQL服务器将尝试确保更新被物理地写入到磁盘,做法是发出fsync()系统调用或者使用多种等价的方法(见wal_sync_method)。这保证了数据库集簇在一次操作系统或者硬件崩溃后能恢复到一个一致的状态。虽然关闭fsync常常可以得到性能上的收益,但当发生断电或系统崩溃时可能造成不可恢复的数据损坏。因此,只有在能很容易地从外部数据中重

  • 买的源码可以申请软件著作权么_一套源码可以多次申请著作权吗

    买的源码可以申请软件著作权么_一套源码可以多次申请著作权吗Coca-colastandardizationoffice【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】Coca-colastandardizationoffice【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】计算机软件著作权登记源代码packageclassBreastextendsBroadcastReceiver{pri…

  • spss分析方法聚类分析_变量聚类分析

    spss分析方法聚类分析_变量聚类分析聚类分析是根据研究对象的特征,按照一定标准对研究对象进行分类的一种分析方法。下面我们主要从下面四个方面来解说:一、实际应用聚类分析的目标就是在相似的基础上收集数据来分类。聚类源于很多领域,包括数学,计算机科学,统计学,生物学和经济学。在不同的应用领域,很多聚类技术都得到了发展,这些技术方法被用作描述数据,衡量不同数据源间的相似性,以及把数据源分类到不同的簇中。商业上:聚类分析被用来发现不同的客户群,并且通过购买模式刻画不同的客户群的特征。聚类分析是细分市场的有效工具,同时也可用于研究消费者行为

    2022年10月18日
  • 高斯滤波原理及应用_数字图像处理高斯滤波器

    高斯滤波原理及应用_数字图像处理高斯滤波器1一维高斯分布 1.1一维高斯分布的定义 若连续型随机变量X的概率密度为:其中,为常数,则称X服从参数为,的正态分布或高斯分布,记为 1.2一维高斯分布的曲线 横轴表示可能的取值x,竖轴表示概率分布密度F(x),那么不难理解这样一个曲线与x轴围…

    2022年10月22日

发表回复

您的电子邮箱地址不会被公开。

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