首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为了更有效地使用gpu,mat乘数应该有多大?

为了更有效地使用gpu,mat乘数应该有多大?
EN

Stack Overflow用户
提问于 2021-06-25 01:04:53
回答 1查看 33关注 0票数 0

所以我一直在摆弄OpenCL内核,我试图更好地理解GPU加速,我很好奇人们将如何找到使用GPU加速来代替传统的CPU计算在计算效率上更高的点

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-25 05:11:44

当GPU并行化更好时,没有一个通用的尖锐阈值,因为它依赖于硬件。数据在CPU和GPU之间来回传输会造成毫秒级的延迟,并且需要大量数据才能在全PCIe带宽下高效运行。然而,由于矩阵乘法的计算时间与N^2成比例,GPU的性能优势将很快克服额外的延迟。作为一个经验法则:

3x3矩阵->,使用CPU

10x10 ->可能更快

100x100 ->可能更快

1000x1000 ->绝对是GPU

1000000x1000000 ->使用图形处理器,可能需要几天时间

在某些情况下,在GPU上做3x3矩阵是有意义的:如果你有数百万个并行的3x3矩阵乘法要计算。在这种情况下,您不会在矩阵元素上进行并行,而是在每个GPU线程上顺序执行一次3x3乘法。

最后,在GPU上,您应该对大型矩阵乘法使用缓存平铺优化。这使得它在本地内存(L2缓存)中加载矩阵块的速度提高了10倍,因此它不必从全局内存(VRAM)多次访问矩阵元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68119998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档