有没有办法使用 ArrayFire 编写矢量化表查找?
我正在尝试使用 255x255 查找表来实现二进制 2D 像素分类器。此表包含应分类的 2 个通道值组合 [0,255]: 例如
channel[0] == 127 && channel[1] == 200
,可用于查找为lut[127][200] == True
。
非向量化伪代码示例:
for pixel in line
output[pixel] = LUT[ pixel[channel_0] ][ pixel[channel_1] ]
ArrayFire 的可能方法:
[Gfor 循环]
以下似乎不是一个有效的语法,所以我不确定这是否完全可能:gfor(af::seq i, line.dims(0)) { classification(i) = lut(line(i)); }
[自定义 CUDA 内核]
上传查找表和输入行(可能分段)并分布在块上。- 其他的?
任何帮助将不胜感激!