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