Понимание использования планировщика Warp в CUDA: максимальное количество одновременных деформаций против резидентных деформаций

В вычислительных возможностях CUDA 8.6 каждый потоковый мультипроцессор (SM) имеет четыре планировщика деформации. Каждый планировщик варпов может одновременно планировать до 16 варпов, а это означает, что теоретически одновременно может выполняться до 64 варпов. Однако в действительности максимальное количество резидентных варпов на SM составляет всего 48. Это представляет собой противоречие: не означает ли это, что возможности планирования планировщиков варпов будут потрачены впустую? Несмотря на то, что планировщики варпов способны планировать 64 варпа, на практике им доступно только 48 варпов. Может ли кто-нибудь прояснить это?

ОБНОВЛЯТЬ

Почему я думаю: «Каждый планировщик варпов может планировать до 16 варпов одновременно, а это означает, что теоретически одновременно может выполняться до 64 варпов»? Потому что в Ampere Tuning Guide в документации указано: «Максимальное количество одновременных варпов на SM остается таким же, как и в Volta (т.е. 64)». Не означает ли это, что каждый планировщик варпов может одновременно планировать до 16 варпов?

1 ответ

Как отмечает @RobertCrovella, ваше второе предложение неверно. Это не тот случай, когда каждый планировщик варпов «может запланировать до 16 варпов».

Глядя на технический документ по микроархитектуре Ampere или соответствующий раздел руководства по программированию CUDA (для CC 8.x), мы не видим упоминания о количестве деформаций, обрабатываемых планировщиком. Однако мы читаем, что SM состоит из 4 разделов, каждый из которых имеет свой собственный планировщик; и что деформации распределяются при приеме «среди планировщиков», то есть между разделами. Таким образом, логично заключить, что если SM может иметь 48 резидентных варпов, то каждый раздел варпов (или «блок обработки») может иметь до 12 резидентных варпов, и это число, которое может обработать каждый планировщик.

Частично путаница может заключаться в том, что в Руководстве по настройке Ampere может быть указано количество резидентных искажений на графических процессорах A100 (CC 8.0), а не на других графических процессорах Ampere (с CC 8.6). Первый может иметь до 64 резидентных SM на варп, второй — только 48.

Другие вопросы по тегам