Размер регистра ядра CUDA - PullRequest
       6

Размер регистра ядра CUDA

0 голосов
/ 15 декабря 2011

На вычислительной карте 1.3 с графическим процессором cuda, мы запускаем следующий код

for(int i=1;i<20;++i)

kernelrun<<<30,320>>>(...);

мы знаем, что каждый SM имеет 8 SP и может запускать 1024 потока, Таким образом, в Tesla C1060 имеется 30 SM, которые могут одновременно выполнять 30 * 1024 потоков.

Согласно данному коду, сколько потоков может работать одновременно? Если существует 48 регистров для ядра kernelrun, каковы ограничения для tesla C1060?

с 16384 регистрами и 16 КБ общей памяти?

Поскольку параллельное выполнение ядра не поддерживается в Tesla C1060, как мы можем запустить ядро ​​в цикле одновременно? Возможны ли потоки? только одно одновременное копирование и выполнение движка в tesla C1060?

1 Ответ

1 голос
/ 15 декабря 2011

NVIDIA поставляет Калькулятор занятости , который вы можете использовать, чтобы ответить на этот вопрос для себя с 2007 года. Попробуйте его.

Но чтобы ответить на ваш вопрос, каждый SM в вашемУстройство Compute 1.3 имеет 16384 регистра на SM, поэтому число потоков в блоке , если ограничено регистром вашего ядра, будет примерно 352 (16384/45 округлено до ближайших 32).Также необходимо учитывать гранулярность распределения страниц регистра.

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