【发布时间】:2020-10-06 03:48:52
【问题描述】:
OpenCL 内置数学函数接受抽象 gentype 作为参数类型,因此您只有一个 exp(x) 或 log(x) 函数,编译器会根据您调用它们时的实际参数类型自动切换到正确的函数.
我需要编写其他数学函数来执行一组基本代数运算,例如 (log(a / b) - c) / d(没有垂直向量代数),但有时在 float 标量上,有时在 float4 向量上。有没有一种干净的方法可以只编码一次并让编译器根据参数类型进行相同的切换?
或者,如果我只编写 float 标量代码并循环使用 float4 来应用它,编译器是否能够对其进行矢量化?
【问题讨论】: