«Выполнение» может быть лучше интерпретировано как «наличие состояния на SM и / или инструкции в конвейере».Аппаратное обеспечение графического процессора планирует столько блоков, сколько доступно или будет вписываться в ресурсы SM (в зависимости от того, что меньше), распределяет состояние для каждой деформации, которую они содержат (т. Е. Регистровый файл и локальная память), затем начинает планирование деформаций для выполнения,Кажется, что конвейер инструкций имеет длину около 21-24 циклов, и поэтому в любой момент времени на разных этапах "работы" имеется множество потоков.
Первые два поколения графического процессора с поддержкой CUDA (так G80/ 90 и G200) только удаляют команды из одной деформации за четыре такта.Вычислите устройства 2.0, выпуская инструкции двойного выпуска из двух перекосов за два такта, так что по одному отсеву выдается два перекоса.Compute 2.1 расширяет это, допуская то, что фактически выполняется не по порядку - по-прежнему только две деформации за такт, но потенциально две инструкции из одной и той же деформации одновременно.Таким образом, дополнительные 16 ядер на SM используются для параллелизма на уровне команд, которые все еще выдаются из того же общего планировщика.