获得的开放式CL加速度高于7000

时间:2017-11-05 08:44:49

标签: parallel-processing opencl

我有一个OpenCL顺序程序和一个由相同算法组成的并行程序。我的执行时间结果为133000毫秒(顺序)和17毫秒(并行内核时间)。因此,当我计算出133000/17的加速时,我得到7823作为加速。是否可以加速这么快?

2 个答案:

答案 0 :(得分:0)

这样的加速可能会发生(但似乎很大;对我来说,加速7823看起来可疑但并非完全不可能,请参阅例如these slidesthat。 100倍因素似乎更合理)。据传,昂贵的显卡能够以几万亿次的速度运行。单核仅提供gigaflops。某些特定程序甚至可以在GPGPU上比在CPU上运行速度慢。

在对CPU代码进行基准测试时,请确保在编译器中启用优化(例如,使用{{1}}至少使用GCC进行编译)。没有任何优化(例如{{1}}),CPU性能很慢(例如,使用{{1}}和{{1}}获得的二进制之间的3倍因子很常见。)

BTW,cache考虑​​因素对CPU性能很重要。如果您编写了数字CPU代码而没有考虑到这一点,那么它可能会很慢(在奇怪的情况下,它有错误的locality of reference)。

答案 1 :(得分:0)

如果内核函数有问题且尚未执行,则时间结果将不准确