int main(int argc, char *argv[]) { int i; #pragma omp parallel for for (i = 0; i < 10000; ++i) { /* (並列処理させたいプログラム) */ } return 0; } OpenMPはループの反復処理を自動的に複数のスレッドに分割して並行処理できるようにする。例えば4つのスレッドを用いて処理を分割する場合、上記例ではインデックス[0, 2499], [2500, 4999], [5000, 7499], [7500, 9999]の各範囲をそれぞれのスレッドに分担させる、といった具合である。実際にいくつのスレッドを起動するのか、また各スレッドに対してどのように処理を振り分けるのかはOpenMP処理系(コンパイラ)およびプログラム実行環境などの条件に依存する[9]。 以下は区分求積法を用いた円周率π