先日、「デュアルコア対応プログラミング」のコンテンツを書き込んだ時は、Cなどのコンパイル言語でのデュアルコア対応プログラミングは未完成であった。 今回は、ちゃんとコンパイル言語でデュアルコアに対応し、高速で計算するプログラムを作ることに成功したので、報告する。 課題は、先日と同じく円周率を求める計算だが、デュアルコアを有効に使って計算するプログラムは下のようになった。 #include main() { int i; int n = 1000000000; double s = 0.0; system("date"); #pragma omp parallel for reduction(+:s) for (i = 0;i < n;i++) s += (4.0 / (4 * i + 1) - 4.0 / (4 * i + 3)); printf("%lf\n",s); system("da