gpt4 book ai didi

c - 应该使用GPU?

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:18 24 4
gpt4 key购买 nike

我怎么知道如果我使用 GPU,我的串行代码是否会运行得更快?我知道这取决于很多事情……例如,如果代码可以在 SMID fation 和所有这些东西中并行化……但是我应该考虑哪些因素才能“确定”我会获得速度?该算法应该是令人尴尬的并行吗?因此,如果部分算法无法并行化,我不会费心尝试 GPU 吗?我应该考虑样本输入需要多少内存吗?

可以使其在 GPU 上运行得更快的串行代码的“规范”是什么?复杂的算法能否在 GPU 上获得速度?我不想浪费时间尝试在 GPU 上编写我的算法,我 100% 确定速度会提高....这是我的问题....

我认为我的算法可以在 GPU 上并行化...值得尝试吗?

最佳答案

这取决于两个因素:

1)多核执行浮点运算的加速

这取决于您正在执行的操作的固有并行化、GPU 上的内核数量以及 CPU 和 GPU 之间的时钟速率差异。

2) 在主内存和 GPU 内存之间来回传输数据的开销。

这主要取决于您的特定 GPU 的“内存带宽”,并且由于 CPU 和 GPU 在同一芯片上的 Sandy Bridge 架构而大大降低。对于较旧的架构,一些内部维度很小的操作(例如矩阵乘法)没有得到改进。这是因为在系统总线上来回传输内部 vector 比在 CPU 上对 vector 进行点积需要更长的时间。

不幸的是,这两个因素很难估计,不尝试就无法“知道”。如果您当前使用 BLAS 进行 SIMD 操作,那么在具有相同 API 的 CUBLAS 中替代它相当简单,只是它将操作发送到 GPU 来执行。

关于c - 应该使用GPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5652868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com