python中如何使用GPU大幅提高效率

技术python中如何使用GPU大幅提高效率本篇文章给大家分享的是有关python中如何使用GPU大幅提高效率,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

本文是关于如何在python中使用GPU来大大提高效率。边肖觉得很实用,所以分享给大家学习。希望你看完这篇文章能有所收获。我们就不多说了。让我们和边肖一起看看。

Cupy我觉得可以理解为cuda for numpy,安装方法pip安装cupy,假设

importnumpayasnp

Importcupyascp然后np。XXX一般可以直接换成cp.XXX。

事实上,numpy已经足够快了。毕竟是c写的,每次运行都会尽力调用系统资源。为了验证这一点,我们可以通过矩阵乘法进行测试:通过多线程并发、多进程并行和单线程的方式正式比较numpy的速度和资源的调度。代码是

#th_pr_array.py

fromthreadingimportThread

从多进程导入进程

从时间导入时间现在

importnumpayasnp

importsys

N=3000

defMatrixTest(n,name,t):

x=NP . rand . rand(n,n)

x=x@x

打印(f'{name}@{t}:{Now()-t} ')

defhtest(:)

t=现在()

foriirange(5):

Thread(target=MatrixTest,args=[N,f'th{i} ',t])。开始()

defprTest():

t=现在()

foriirange(5):

进程(target=MatrixTest,args=[N,f'pr{i} ',t])。开始()

if__name__=='__main__':

ifsys.argv[1]=='th':

thTest()

elifsys.argv[1]=='pr':

prTest()

else:

t=现在()

foriirange(5):

测试运行如下

(基本)e : \ Documents \ 00 \ 1108 python th _ pr _ numpy . py th

th0 @ 1636357422 . 58888888666

TH2 @ 163635742 . 56666666666

th3 @ 1636357422 . 58888888666

th4 @ 1636357422 . 56666666666

th5 @ 1636357422 . 58888888666

(基本)e : \ Documents \ 00 \ 1108 python th _ pr _ numpy . py pr

pr3 @ 1636357462.4170427

pr0 @ 1636357462.4170427

pr1 @ 1636357462.4170427

pr4 @ 1636357462.4170427

pr2 @ 1636357462 . 56666666666

(基本)e : \ Documents \ 00 \ 1108 python th _ pr _ numpy . py single

single @ 1636357567.8899782

single @ 1636357567.8899782

single @ 1636357567.8899782

single @ 1636357567.8899782

single @ 1636357567.8899782

所以不要在numpy中使用python内置的并行性和并发性。相反,它将被称为累赘。此外,这样的比较将证明numpy的强大性能。

但是在cupy面前,这个速度会很苍白。接下来,连续五次创建一个5000x5000的随机矩阵,并将该矩阵相乘。

#np_cp.py

importnumpayasnp

importcupyascp

importsys

从时间导入时间现在

N=5000

defestnp(t):

foriirange(5):

x=随机数(N,N)

x=x@x

打印(f'np:{Now()-t} ')

defestcp(t):

foriirange(5):

x=随机数(N,N)

x=x@x

打印(f'cp:{Now()-t} ')

if__name__=='__main__':

t=现在()

ifsys.argv[1]=='np':

测试计划

elifsys.argv[1]=='cp':

testCp(t)的最终结果是

(基本)E: \文档\00\1108python np_cp.py np

NP . 38860 . 88888868861

(基本)E: \文档\00\1108python np_cp.py cp

cp3860 . 8888888886

更何况很霸道。当矩阵的维数从5000x5000上升到15000x15000时,cupy的计算时间变化不大,充其量是线性增长。毕竟只要缓存能容纳,矩阵再大,乘法数也只会增加行或列。

python中如何使用GPU大幅提高效率

以上就是如何在python中使用GPU来大大提高效率。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/78647.html

(0)

相关推荐

  • python中怎么处理逗号(python中逗号怎么输入)

    技术Python中怎么用逗号这篇文章主要讲解了“Python中怎么用逗号”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中怎么用逗号”吧!1 逗号分割列表,元组

    攻略 2021年12月17日
  • php怎么看访问端是移动端还是pc端(php怎么判断是pc还是手机端)

    技术php如何检查是不是微信端这篇文章主要讲解了“php如何检查是不是微信端”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何检查是不是微信端”吧!php检查是不是

    攻略 2021年12月15日
  • 常见Python的Web开发框架有哪些呢

    技术常见Python的Web开发框架有哪些呢今天就跟大家聊聊有关常见Python的Web开发框架有哪些呢,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  在今天,

    攻略 2021年11月16日
  • ln2求导,证明ln2(2^4) + ln3

    技术ln2求导,证明ln2(2^4) + ln3我还是将原题的前因后果给你写一下吧,原理的第二问证明了ln(x)/x^2   ln2求导。。+lnn/(n^4)全部这类题一般是在高考题目中是最后一道大题的最后一问中出现,

    2021年10月22日
  • 怎么实现RabbitMQ消息中间件的工作原理和使用

    技术怎么实现RabbitMQ消息中间件的工作原理和使用这篇文章将为大家详细讲解有关怎么实现RabbitMQ消息中间件的工作原理和使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定

    攻略 2021年12月3日
  • 88年属,急急!88年属龙的适合住几楼

    技术88年属,急急!88年属龙的适合住几楼楼层和属相,楼层风水学属相与楼层根据旺财选择属鼠、属猪的财层是二楼、七楼88年属。
    属虎、属兔的财层是五楼、十楼。
    属马、属蛇的财层是四楼、九楼。
    属龙、属狗、属牛、属羊的财层是

    生活 2021年10月26日