OpenCL отправляет данные из ядра на хост ⇐ C++
-
Anonymous
OpenCL отправляет данные из ядра на хост
Я пытаюсь создать ядро, которое время от времени будет обновлять хост о ходе работы, поскольку ядро выполняет тяжелую вычислительную задачу (на выполнение которой уйдет от нескольких часов до дней). Однако я не нашел способа связи ядра с хостом, кроме printf, что заставляет меня полагать, что такая связь теоретически возможна.
До сих пор я пробовал использовать буфер, который хост будет периодически проверять на наличие новых сообщений, однако, похоже, что для моего графического процессора Nvidia любой способ доступа к памяти графического процессора во время работы ядра заблокирован. Я пробовал использовать общую память, а также отображать буфер, но безрезультатно.
Я также знаю о существовании событий в OpenCL, но не знаю, как создать пользовательское событие на хосте и передать его ядру.
Я здесь в тупике, и любая помощь будет оценена по достоинству. У меня мало опыта работы с OpenCL, поэтому я не знаком с большинством конструкций и концепций OpenCL.
Вот примерно тот код, который я пробовал с буферами: https://pastebin.com/zjPfKGYn
Я пытаюсь создать ядро, которое время от времени будет обновлять хост о ходе работы, поскольку ядро выполняет тяжелую вычислительную задачу (на выполнение которой уйдет от нескольких часов до дней). Однако я не нашел способа связи ядра с хостом, кроме printf, что заставляет меня полагать, что такая связь теоретически возможна.
До сих пор я пробовал использовать буфер, который хост будет периодически проверять на наличие новых сообщений, однако, похоже, что для моего графического процессора Nvidia любой способ доступа к памяти графического процессора во время работы ядра заблокирован. Я пробовал использовать общую память, а также отображать буфер, но безрезультатно.
Я также знаю о существовании событий в OpenCL, но не знаю, как создать пользовательское событие на хосте и передать его ядру.
Я здесь в тупике, и любая помощь будет оценена по достоинству. У меня мало опыта работы с OpenCL, поэтому я не знаком с большинством конструкций и концепций OpenCL.
Вот примерно тот код, который я пробовал с буферами: https://pastebin.com/zjPfKGYn
Мобильная версия