CUDA деформация деформации и такты - PullRequest
0 голосов
/ 26 ноября 2010

Я читал, что на SM с 8 SP, каждый поток в деформации отображается на каждый из 8 SP во время выполнения одной инструкции. Следовательно, деформация выполняется за 32/8 = 4 такта.

Если это так, то предположим, что в коде есть оператор if-else. Предположим, что команды перехода «then» и «else» выполняются по одному такту.

Сколько тактов потребуется для завершения оператора if-else в случае расхождения? Это 2, или это должно быть 2 х 4 = 8? (то есть в последнем 2 цикла для каждой четверти деформации)

Ценю любые разъяснения!

1 Ответ

6 голосов
/ 26 ноября 2010

Степень детализации составляет 4 такта - имеется 4 фазы инструкций, и каждая из 4 фаз обрабатывает одну и ту же инструкцию для 8 потоков (опционально маскируется, если у вас есть условия / ветвления), так вы получаете 32 потока, выполняющих одну инструкцию каждый4 такта.Так что для расходящейся ветви, как в вашем примере, у вас есть минимум 4 такта для одной ветви и минимум 4 такта для другой ветви.

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