Порядок выполнения групп металлических нитей

#parallel-processing #gpu #metal

#параллельная обработка #графический процессор #Металлические

Вопрос:

Я пытаюсь использовать metal для реализации фильтра изображений с аппаратным ускорением (вырезание швов для всех, кто заинтересован). Один шаг включает в себя выполнение кода строка за строкой, с вычислениями для каждой строки в зависимости от вычислений в вышеупомянутой строке. Однако вычисления для каждой строки могут быть распараллелены по пикселям.

Одним из подходов было бы запланировать ядро один раз для каждой строки, но я уверен, что есть лучший способ сделать это, поскольку это приведет к большим накладным расходам.

Есть ли какой-нибудь способ указать металлу, в каком порядке выполнять группы потоков?

Комментарии:

1. Зависят ли вычисления для строки N, пиксель M только от строки N-1, пиксель M? Или они зависят от других пикселей из строки N-1?

2. Metal2 имеет группы растровых порядков. developer.apple.com/documentation/metal/mtldevice /…

3. @MoDJ Спасибо, но я уже проверил документацию по группам растровых порядков. Они требуют аннотации с постоянным индексом.