【矩阵计算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)
上一篇 2022年6月28日 下午2:46
下一篇 2022年6月28日 下午2:46


相关推荐

  • Retrofit2 详解和使用(一)

    Retrofit2 详解和使用(一)前言 要么出击 要么出局 命运女神总会眷顾拼尽全力的一方 一 概述 1 什么是 retrofitretr 是现在比较流行的网络请求框架 可以理解为 okhttp 的加强版 底层封装了 Okhttp 准确来说 Retrofit 是一个 RESTful 的 http 网络请求框架的封装 因为网络请求工作本质上是由 okhttp 来完成 而 Retrofit 负责网络请求接口的封装 本质过

    2026年3月20日
    2
  • 字符串匹配算法_多字符串匹配

    字符串匹配算法_多字符串匹配文章目录1.BM(Boyer-Moore)算法1.BM(Boyer-Moore)算法思想:有模式串中不存在的字符,那么肯定不匹配,往后多移动几位,提高效率BM原理:坏字符规则,好后缀规则…

    2022年8月21日
    9
  • Python中numpy数组的拼接、合并

    Python中numpy数组的拼接、合并Python中numpy数组的合并有很多方法,如np.append()np.concatenate()np.stack()np.hstack()np.vstack()np.dstack()其中最泛用的是第一个和第二个。第一个可读性好,比较灵活,但是占内存大。第二个则没有内存占用大的问题。假设有两个数组a,b分别为:>>>aarray([0,…

    2022年6月15日
    37
  • idea导入jar包的方法

    idea导入jar包的方法ProjectStruc 导入方法首先进入 File gt ProjectStruc 接着找到 Modules gt Dependencies 点击最右侧的 号然后就选择想要导入的 jar 包了 AddasLibrary 方法在你需要导入的 Jar 包上 点击右键 选择 AddasLibrary 然后点击 ok 即可

    2026年3月18日
    2
  • ELF文件格式简介「建议收藏」

    ELF文件格式简介「建议收藏」  简单了解下ELF文件的格式。1简介  可执行与可链接格式(ExecutableandLinkableFormat,ELF),常被称为ELF格式,是一种用于可执行文件、目标代码、共享库和核心转储(coredump)的标准文件格式,一般用于类Unix系统,比如Linux,Macox等。ELF格式灵活性高、可扩展,并且跨平台。比如它支持不同的字节序和地址范围,所以它不会不兼容某一特别的CPU或指令架构。这也使得ELF格式能够被运行于众多不同平台的各种操作系统所广泛采纳。  E.

    2025年7月30日
    5
  • phpstorm激活码2021【2021最新】[通俗易懂]

    (phpstorm激活码2021)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月27日
    56

发表回复

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

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