Redução de soma de bytes não assinados sem estouro, usando SSE2 na Intel

Eu estou tentando encontrar a redução de soma de 32 elementos (cada dados de 1 byte) em um processador Intel i3. Eu fiz isso:

s=0; 
for (i=0; i<32; i++)
{
    s = s + a[i];
}  

No entanto, está demorando mais, já que meu aplicativo é um aplicativo em tempo real que requer muito menos tempo.Por favor, note que a soma final pode ser superior a 255.

Existe uma maneira de implementar isso usando instruções SIMD SSE2 de baixo nível? Infelizmente eu nunca usei o SSE. Eu tentei procurar por função sse2 para este fim, mas também não está disponível. É (sse) garantido para reduzir o tempo de computação para esses problemas de tamanho pequeno?

Alguma sugestão??

Nota: Eu implementei os algoritmos similares usando OpenCL e CUDA e isso funcionou muito bem, mas apenas quando o tamanho do problema era grande. Para problemas de tamanho pequeno, o custo de overhead era maior. Não tem certeza de como funciona no SSE

questionAnswers(2)

yourAnswerToTheQuestion