Распараллеливание циклов в C
Подскажите, пожалуйста, как можно распараллелить выполнение подобного цикла на C.
for(int i = 0; i < X; i++)
{
for(int j = 0; j < Y; j++)
{
for(int k = 0; k < Z; k++)
{
for(int i2 = 0; i2 < 27; i2++)
{
if (count < 27)
{
count++;
x_vect.push_back(x_mas[i2]);
y_vect.push_back(y_mas[i2]);
z_vect.push_back(z_mas[i2]);
}
else
{
x_vect.push_back(i*a + 2*a1 + x_mas[i2]);
y_vect.push_back(j*b + 2*b1 + y_mas[i2]);
z_vect.push_back(k*c + 2*c1 + z_mas[i2]);
count++;
}
}
}
}
}
Проводится множество итераций и хотелось бы, как можно проще сгенерировать код для загрузки обоих ядер. Используется MS Visual Studio 2010 и Intel C++ Compiler. Процессор - Core2Duo. После включения оптимизации, в том числе SSE3, скорость выросла почти в 12 раз. Но хотелось бы организовать многопоточность. На включение QParallel ругается.