2015-09-06 4 views
0

Мне кажется, что одна очередь команд opencl не будет отправлять команды в более чем одну аппаратную очередь. Таким образом, команды в очереди команд из очереди все еще выполняются один за другим, а не в том порядке, в котором они были выставлены в очередь?Неудачная командная очередь, полезная для AMD GPU?

Итак, если я хочу использовать несколько аппаратных очередей, все, что я могу сделать, это создать несколько очередей команд opencl?

+0

Я пробовал на hd7870, и он максимизировал производительность всего за 2 экземпляра (на gpu), которые являются отдельными контекстами со своими очередями, а не единым контекстом с несколькими ooo cqs. Таким образом, единственный контекст с несколькими ooo cqs будет лучше, например, 3 или 4 cqs в одно и то же время. (синхронизированный с явным местом встречи). Но они говорят, что лучше на Nvidia. –

+0

Я уже много лет проводил тесты. Даже если использование GPU достигает 100%, реальная производительность не улучшается в разных контекстах. Я думаю, это так, как они делают измерения, они также считают время, проведенное при переключении контекста, как действительное%. Наличие одного контекста происходит так же быстро, как и несколько контекстов, даже если в первом случае использование не достигает 100%. – DarkZeros

ответ

1

ООО (не в порядке) очереди доступны для удовлетворения потребностей пользователя. Наличие одной очереди в этом типе приложений может привести к заблокированной очереди, ожидающей события пользователя, которое никогда не наступит. И создание одной очереди на одно задание также не оптимально.

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

Общим подходом является использование очереди для ввода-вывода и очереди для запуска ядер. Но вы также можете использовать очередь на поток в схеме многопоточной обработки. IO каждого потока будет перекрывать выполнение других потоков.

ПРИМЕЧАНИЕ: nVIDIA поддерживает параллельное выполнение заданий в одной очереди, но это не соответствует стандарту.

Смежные вопросы