2016-12-11 4 views
0

Так что я нашел этот wikipedia resourceМаксимальное количество одновременных ядер и архитектуры виртуального кода

Максимальное количество сетей резидентов на устройство (Параллельное Kernel Execution)

и для каждой возможности вычислительном это говорит количество совпадающих ядер, которое я предполагаю как максимальное количество параллельных ядер.

Теперь я получаю поставляемый GTX 1060, который согласно this nvidia CUDA resource имеет вычислительную способность 6.1. Из того, что я узнал о CUDA, вы можете указать виртуальную вычислительную способность вашего кода во время компиляции в NVCC, хотя с флагом -arch=compute_XX.

Так будет ли мой GPU аппаратным ограничением до 32 параллельных ядер или он способен 128 с флагом -arch=compute_60?

ответ

2

Согласно таблице 13 в вычислительной способности NVIDIA CUDA programming guide 6.1 устройства имеют максимум 32 резидентных сетки = 32 параллельных ядра.

Даже если вы используете флаг -arch=compute_60, вы будете ограничены аппаратным ограничением 32 одновременных ядер. Выбор отдельных архитектур для компиляции не позволяет превышать аппаратные ограничения машины.

+1

На боковой ноте 32 параллельных ядра - это много, и по существу невозможно достичь этого предела. Поскольку GTX 1060 имеет либо 9, либо 10 SM, даже в крайнем случае, когда вы запускаете длинную серию ядер с одним блоком, где 3 подходят для SM, вы все равно достигаете только 30 параллельных ядер. – tera

+0

Большое спасибо за дополнительную информацию tera – user2255757

+0

@tera, применяется ли максимальная параллельная граница ядра при использовании динамического параллелизма и вложенных ядер? – user2255757

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