Векторизованная классификация LUT с использованием ArrayFire

Есть ли способ написать векторизованный поиск таблицы с помощью ArrayFire?

Я пытаюсь реализовать бинарный 2D пиксельный классификатор, используя таблицу поиска 255×255. Эта таблица содержит комбинации значений двух каналов [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] Загрузить обе таблицы поиска & строка ввода (возможно, в сегментах) & распределить по блокам.

  • другие?

Любая помощь будет принята с благодарностью!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector