Интел выкатил в опенсорс такую вот игрушку: Intel SPMD Program Compiler.
Это очередная попытка придумать параллельный язык C: пишете некую функцию, к примеру, обрабатывающую элемент данных, варез сам строит SIMD-представление (SSE, AVX), которое обрабатывает 4(8) элементов за раз. Ну как-то так:
void vector_sum(uniform float in[], uniform int count, reference uniform float out[]) {
float sum = 0.0;
for (uniform int i = 0; i < count; i += programCount) {
int index = i + programIndex;
sum+= in[index];
}
out[programIndex] = sum;
}
И оно у вас пойдет фигачить шириной programCount, ну там дальше надо будет элементы out просуммировать уже снаружи.