在OpenCL中进行标量向量乘法的最快方法

时间:2018-05-30 01:46:20

标签: opencl

我有两个输入float4向量,比如float4 A& float4 B。一个float4向量float4 C[4]的输出数组我打算做的操作是

C[0] += A.s0 * B
C[1] += A.s1 * B
C[2] += A.s2 * B
C[3] += A.s3 * B

是否有任何OpenCL内置函数可以执行此操作(或)任何其他方法来加速此操作?

编辑1: 我已经使用内置mad()功能尝试了以下选项。表现没有任何改善。

C[0].s0 = mad(A.s0, B.s0, C[0].s0);
C[0].s1 = mad(A.s0, B.s1, C[0].s1);
C[0].s2 = mad(A.s0, B.s2, C[0].s2);
C[0].s3 = mad(A.s0, B.s3, C[0].s3);

0 个答案:

没有答案