这个问题是关于其承诺显著改善该类型的计算OpenCL中可用的疯狂功能:乘法和加法功能
A * B + C
如果用作狂(A,B,C )并使用cl-mad-enable进行编译。
我已经试过了一个计算形式a + b * c + d * e使用疯狂的一个非常巨大的大小,并期待着显着的改善。令人惊讶的是,它花了相同的时间。
如果有人有这方面的经验,我将不胜感激。我有一个可以工作的jist,因为大部分资源都对mad()充满赞美。注意:我使用的数据类型都是双精度,如果它很重要,我对mad的使用会导致一个非常大的精度损失。
您的GPU实际上是否支持双打?他们中的很多只支持浮动。 – 2012-02-24 00:51:37
不是默认情况下,但通过启用cl_khr_fp64,我可以使用它们。你可能有一点,我会转换为浮动和检查。由于代码非常大,需要一些时间。一旦我有什么,我会回应评论。 – 2012-02-24 08:41:08