Синхронизация в графических процессорах

У меня есть некоторые вопросы о том, как графические процессоры выполняют синхронизацию. Насколько я знаю, когда варп встречает барьер (при условии, что он находится в OpenCL), и он знает, что других варпов той же группы еще не было. Так что придется подождать. Но что именно делает эта деформация во время ожидания? Это все еще активный варп? Или он будет выполнять какие-то нулевые операции?

Как я заметил, когда у нас есть синхронизация в ядре, количество инструкций увеличивается. Интересно, каков источник этого прироста. Разбита ли синхронизация на такое количество более мелких инструкций графического процессора? Или из-за того, что бездействующие деформации выполняют некоторые дополнительные инструкции?

И, наконец, мне очень интересно, влияет ли количество деформаций в рабочая группа (или блокировка потоков)? Спасибо

7
задан Zk1001 13 July 2011 в 09:01
поделиться