При чтении через Руководство по программированию CUDA 5.0 я наткнулся на функцию под названием "Смещение последовательности", которая присутствует в устройстве с поддержкой вычислений, но не в 3.0. Он содержит аннотацию "см. Справочное руководство", но когда я ищу термин "сдвиг воронки" в руководстве, я ничего не нахожу.
Я попробовал поиск по сайту, но только нашел упоминание в http://www.cudahandbook.com в главе 8:
8.2.3 Смещение воронки (SM 3.5)
GK110 добавил 64-битную инструкцию "сдвиг воронки", к которой можно получить доступ со следующими характеристиками:
__ funnelshift_lc(): возвращает наиболее значимые 32 бита сдвига левой воронки.
__ funnelshift_rc(): возвращает наименее значимые 32 бит правильного сдвига воронки.
Эти встроенные функции реализованы как встроенное устройство функции (используя встроенный ассемблер PTX) в sm_35_intrinsics.h.
... но он все еще не объясняет, что такое "сдвиг левой воронки" или "правый сдвиг воронки".
Итак, что это такое и где он нужен?