Cercando di immaginare come implementare la somma (o la riduzione?) su un'architettura parallela e sto avendo un momento difficile.
Pensare specificamente in termini di array WebGL di vettori come questo:
[integer1, integer2, integer3, ...]
Ti stai chiedendo se esiste un modo per farlo in parallelo
var array = [ 1, 2, 3, 4, 5, ... ]
var sum = 0
array.forEach(function(number){
sum += number
})
return sum
Il problema che sto incontrando è penso qui menzionato in questo documento NVidia sulla riduzione della GPU (non del tutto seguendo):
come comunichiamo i risultati parziali tra i blocchi di thread ?
Chiedersi se è possibile descrivere un algoritmo che calcola la somma di qualcosa in parallelo, poiché esiste una variabile condivisa che deve essere utilizzata in qualche modo (la variabile sum). O forse questo non è possibile.