我有两个输入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);