Compartir a través de


Función WavePrefixSum

Devuelve la suma de todos los valores de los carriles activos con índices más pequeños que este.

Sintaxis

<type> WavePrefixSum(
   <type> value
);

Parámetros

value

Valor que se va a resumir.

Valor devuelto

Suma de los valores.

Comentarios

No se puede garantizar el orden de las operaciones en esta rutina. Por lo tanto, efectivamente, la marca [precisa] se omite dentro de ella.

Se puede calcular una suma de postfijo agregando la suma del prefijo al valor del carril actual.

Tenga en cuenta que el carril activo con el índice más bajo siempre recibirá un 0 para su suma de prefijo.

Esta función es compatible con el modelo de sombreador 6.0 en todas las fases del sombreador.

Ejemplos

uint numToSum = 2;
uint prefixSum = WavePrefixSum( numToSum );

En una máquina con un tamaño de onda de 8, y todos los carriles activos excepto las carriles 0 y 4, se devolverían los valores siguientes de WavePrefixSum.

índice de carril status prefixSum
0 inactivo N/D
1 active = 0
2 active = 0+2
3 active = 0+2+2
4 inactivo N/D
5 active = 0+2+2+2
6 active = 0+2+2+2+2+2
7 active = 0+2+2+2+2+2+2

Consulte también

Información general sobre el modelo de sombreador 6

Modelo de sombreador 6