Несколько ядер OpenCl - PullRequest
       4

Несколько ядер OpenCl

1 голос
/ 20 октября 2010

Я просто хотел спросить, может ли кто-нибудь подсказать мне, на что обратить внимание при использовании нескольких простых ядер друг за другом.

Могу ли я использовать тот же CommandQueue?Могу ли я просто запустить несколько раз clCreateProgramWithSource + cl_program с другим cl_program?Что я забыл?

Спасибо!

1 Ответ

9 голосов
/ 21 октября 2010

Вы можете либо создать и скомпилировать несколько программ (и создать объекты ядра из них), либо вы можете поместить все ядра в одну и ту же программу (clCreateProgramWithSource все же принимает несколько строк) и создать все свои ядра из этой.Либо должно работать нормально, используя тот же CommandQueue.Использование более одного CommandQueue для запуска ядер, которые должны выполняться последовательно на одном и том же устройстве, в любом случае не является хорошей идеей, поскольку в этом случае вам придется вручную ждать завершения события, а не асинхронно ставить все ядра в очередь и затем ожидать результатаПо крайней мере, некоторые операции должны выполняться параллельно на устройстве и хосте, поэтому ожидание в последний возможный момент обычно быстрее и проще).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...