Примечание. Этот вопрос специфичен для устройств nVIDIA Compute Capability 2.1. Следующая информация получена в Руководстве по программированию CUDA v4.1:
В вычислительной способности 2.1 устройств каждый SM имеет 48 SP (ядер) для операций с целыми числами и с плавающей запятой. Каждый warp составлен из 32 последовательных потоков. Каждый SM имеет 2 планировщика warp. На каждом время выдачи команды, один планировщик деформаций выбирает готовый потоки и проблемы 2 инструкции для основы на ядрах.
Мои сомнения:
- Один поток будет выполняться на одном ядре. Как устройство может выдавать 2 инструкции потоку за один такт или одну операцию с несколькими циклами?
- Означает ли это, что две инструкции должны быть независимы друг от друга?
- Чтобы две команды могли выполняться параллельно на ядре, возможно, потому, что они используют разные исполнительные блоки в ядре? Означает ли это также, что варп будет готов следующий только после того, как 2 инструкции будут завершены или это будет после одного из них?