CUDA优化之七种武器

部署运行你感兴趣的模型镜像

说来惭愧,接触GPU是在07年6月份,研二,来公司实习。用cg把以前的一些图像处理算法改写在了GPU上,当时是用的geforce8800GTX。后来入职后,开始接触别的工作,学x-ray,学习image acquisition,只是没事的时候翻翻手册,浏览下群里的讨论。就在这漫不经心的日子里,逐渐忘了很多东西。现在项目重新开始,也重新开启了cuda之路。

七种武器,不一定有七种。

也许只是一个代号,也许,这厮是在模仿古龙~

(一)stream

stream

stream 流.

看不见的显卡内部,有无数的stream在流动。

从main memory到global memory有stream[i]在,

在SM里,那些忙着做加减乘除预算的,有stream[i+1]在,

同时还有从global memory往回倒腾的stream[i+2]在。

由于stream的存在,使得各条战线的兄弟们都同时在忙活,你,不是一个人在战斗!

任何事情好像都是过犹不及,stream太多了也不成,management成问题啊,这不,我这1024*1024的图像,开64个流的时候发现性能下降了一大截啊。开4,8,16貌似还可以的说。

手册上是这么说的:

设T1 = execution time of kernel

T2 = memory transfer time

N = number of streams

Time(using stream) = max(T1, T2)  + min(T1, T2) / N.

看来对于大规模数据吞吐的时候还是有点优势的。

但是我的concern是:

要对于convolution这样数据位置相关的运算的话,这流划分起来是不是就有困难了呀?

 

 

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值