Я пытаюсь вычислить Pi в Qt5, используя C ++ и OpenMP (с акцентом на предложение сокращения данных). В этой программе я предоставляю точность вычислений и количество задействованных ядер ЦП.
Пока у меня есть следующий код:
int num_steps= ui->numberStepsLineEdit->text().toInt();
double x=0.0;
double sum = 0.0;
#pragma omp parallel private(i,x)
{
#pragma omp for reduction(+:sum) schedule(static)
for (int i=0; i<num_steps; i++)
{
x=(i+0.5)/(double)num_steps;
sum = sum + 4.0/(1.0+x*x);
}
}
double pi=sum/(double)num_steps;
QString result= QString::number(pi, 'g', 10);
ui->piLabel->setText(result);
Проблема в том, что мне нужно указать количество ядер ЦП, участвующих в расчете, и я искал в Интернете примеры безуспешно.
Как установить количество ядер процессора, участвующих в расчете? (Я не хочу устанавливать количество потоков).
Заранее большое спасибо.