gpt4 book ai didi

opencl - 什么时候使用OpenCL?

转载 作者:行者123 更新时间:2023-12-03 14:43:47 26 4
gpt4 key购买 nike

偶然发现了这个论坛线程dot product faster on cpu than on gpu using OpenCL时,再次提醒我,有些实例看起来像是为OpenCL *创建的,但是在使用这些实例的情况下,OpenCL并没有给我们带来任何好处。即我也有一个使用pyopencl代码的kmeans实现,它比简单的python代码快几倍,但仍然比kmeans的scipy函数快几倍。
那么,您如何决定何时使用OpenCL?

您需要什么图形卡?显卡必须“比CPU更好”多少。 Quadro FX 580和i7 860是否足够?
问题必须有多大?您是否需要数百万次乘法才能获得某些东西?
为了使OpenCL值得使用,甚至需要对kmeans或点积之类的“简单”算法进行多少优化?

还是这些三角形情况之一,您只能(/必须)选择三个角中的两个来使其起作用?

    problem size
/\
/ \
/ \
/ \
/________\
GPU/CPU optimization


我知道,对于标题和问题,我使用了一些过于大胆的语言。如果可以想到一个更合适的措词,我将对其进行更改。
谢谢。
*简单的矩阵运算,例如点积,kmeans或矩阵乘法

最佳答案

真正的关键应该在于您的算法是否具有很多固有的并行化能力,以便您可以移交数据集并对其进行大量并行处理。请记住,GPU可能有许多内核,但是每个内核只能运行.5-1GHZ。优势在于处理大量并行操作以获得极高的吞吐量。

将吞吐量视为(数据计算*频率*流水线级数)-因此,要权衡使用那些GPU内核之一的频率的1/6,但可能要比内核数(流水线级数)多6 * 。

当然,CPU <-> GPU屏障会产生额外的开销,并且您的算法可能会导致需要计算多个GPU时钟周期。

关于opencl - 什么时候使用OpenCL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5730044/

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