У меня есть несколько вопросов: (я потратил довольно много времени, просто пытаюсь найти ответы)
оптимизация Cuda, многопроцессорные, параллельное выполнение ядра
Где я могу найти информацию о максимальном количестве блоков на потоковый мультипроцессор, на моем устройстве? (Я знаю, что это может быть 16 блоков, но не может подтвердить это) Мне нужно прочитать его как
myDevice.maxBlocksPerMultiProcessor
внутри кода.Будет ли запуск ядра по умолчанию (например,
<<<blocks, threads>>>
по потоку по умолчанию 0) равномерно распределить вычисления среди всех многопроцессоров? (Или это будет делать только один мультипроцессор).
Я понимаю, что это зависит от моей конфигурации сетки, и я не спрашиваю об этом. Давайте просто предположим, что у меня есть «удобная для пользователя» сетка (я имею в видуblock-threads/maxThreadPerMultiProcessors
максимизация занятости многопроцессоров).
Будет ли он запускаться на нескольких мультипроцессорах по умолчанию?Позволяет сказать: мой GPU поддерживает 16 блоков на мультипроцессоры & 2048 maxThreadPerMultiProcessors. Затем я хотел бы запустить мое ядро с
<<< N*16, 126 >>>
, чтобы максимизировать загрузку многопроцессоров. Могу ли я повысить производительность с использованием потоков и/или одновременного выполнения ядра?
(я не думаю, что это так, потому что я не могу получить более 100% заполняемости многопроцессорной * я завязывать это звучит абсурдно, но мой английский не совершенен *)
извините за мой плохой английский!
Благодарим вас за помощь!
Я не могу узнать, как получить максимальное количество блоков в поточном мультипроцессоре. Можете ли вы сказать что-то еще, мне нужна эта информация. – cukier9a7b5
Я сделал это, мой вывод ничего не говорит о максимальных блоках для потокового мультипроцессора. [мой вывод в pastbin] (http://pastebin.com/GihGnaS0) – cukier9a7b5
Извините, моя ошибка. этот атрибут недоступен программно. Если вам нужна эта информация в вашей программе во время выполнения, вам нужно будет отнести данные руководства по программированию в таблицу в своей программе, а затем просмотреть возможности вычисления во время выполнения и использовать ее для определения атрибута. Я соответствующим образом изменил свой ответ. –