Mudança de funil - o que é isso?

Ao ler através do Guia de Programação do CUDA 5.0, tropecei em um recurso chamado "Funnel shift", que está presente no dispositivo 3.5 com capacidade de computação, mas não no 3.0. Ele contém uma anotação "consulte o manual de referência", mas quando eu procuro o termo "funil shift" no manual, não encontro nada.

Eu tentei googling para isso, mas só encontrei uma menção sobrehttp://www.cudahandbook.com, no capítulo 8:

8.2.3 Mudança de Funil (SM 3.5)

O GK110 adicionou uma instrução de “funil shift” de 64 bits que pode ser acessada com os seguintes intrínsecos:

__funnelshift_lc (): retorna os 32 bits mais significativos de um turno de funil esquerdo.

__funnelshift_rc (): retorna menos 32 bits significativos de uma mudança de funil direita.

Esses intrínsecos são implementados como funções de dispositivos inline (usando assembler inline PTX) em sm_35_intrinsics.h.

... mas ainda não explica o que é o "deslocamento do funil esquerdo" ou "deslocamento do funil direito".

Então, o que é e onde alguém precisa disso?

questionAnswers(1)

yourAnswerToTheQuestion