Раздел 5.4.2 Руководства по программированию CUDA C гласит, что ветвь расходимости обрабатывается либо "инструкциями ветвления", либо, при определенных условиях, "предварительные инструкции". Я не понимаю разницы между ними и почему один ведет к лучшей производительности, чем другой.
Этот комментарий предполагает, что инструкции ветки приводят к большему количеству выполненных инструкций, застопориванию из-за "разрешения адреса ветки и выборки" и накладных расходов из-за "ветки сам" и "бухгалтерский учет для расхождения", в то время как в заданных инструкциях берется только "латентность выполнения команды для выполнения теста условия и установки предиката". Почему?