LINUX.ORG.RU

Копирование из глобальной памяти в локальную

 


0

2

У меня есть ядро, у которого есть два аргумента: здоровенный глобальный входной буфер и промежуточный локальный буфер (__local), в который копируются куски данных (примерно 10*256 байт) для их обработки.

В талмуде от Khronos'а пишут про async_work_group_copy, однако не вполне понятно, как её использовать.

Насколько я могу понять, её должны вызывать все workitem'ы и с одними и теми же аргументами, даже если они вызывают её и не одновременно, а система сама рассудит, какой кусок из заявленного должен откопировать конкретный WI. Затем нужно таким же макаром вызвать в каждом WI wait_group_events на тот event, что вернула async_work_group_copy, с тем, чтобы wait_group_events вернулся, когда все кусочки, подлежащие копированию, будут пересунуты.

Всё ли я правильно понял?


Ответ на: комментарий от tim239

На каждый WI. Вчера попробовал, только async_work_group_copy у меня обрушивало всю программу.

Так что пока просто копирую через доступ к массиву и присваивание.

Yak
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.