MultiProcessing)は、コンパイラ指令に基づいた並列プログラミングモデルであり、アプリケーション開発者がアプリケーションコードに並列性を段階的に追加することを可能にします。++、Fortranでのマルチプラットフォーム共有メモリマルチプロセッシングプログラミングをサポートするアプリケーションプログラミングインタフェース(API)を提供しています。これは、実行時動作に影響を与える一連のコンパイラ・ディレクティブ、ライブラリ・ルーチン、環境変数で構成されています。OpenMPはノード内の並列処理(共有メモリマルチプロセッシング)に重点を置いているため、MPIなどのメッセージパッシングプログラミングモデルと組み合わせて複数のノードで実行することができます。異なるバージョンのOpenMP仕様をサポートする多くのコンパイラがあります。OpenMPのリストを保持し、ここでそれをサポートするコンパイラとサポートされているバージョンで。APIを使用する場合は、OpenMPヘッダー(omp.h)をインクルードする必要があります。ヘッダーファイルの名前は固定されていますが、コンパイルフラグはコンパイラによって異なります。以下は、OpenMPを有効にするコンパイラーとフラグの非包括的なリストです。定義されていない場合は、システム上の論理コアごとに1つずつ作成されます)。}}最後の行:実際にはプライベートコピーに追加され、ループの後に結合されます。コンパイラは詳細を処理します。forループは並列に実行されます。huge()は実行に時間がかかりすぎることがあります。ループの反復がどのようにスレッドにマッピングされるかに影響を与えるschedule句を持つこともできます。b[i];}スケジューリングのスタイルは次のとおりです。スケジュール(静的[、チャンク])サイズの反復のブロックを各スレッドに「チャンク」します。指定されていない場合は、使用可能なスレッドにできるだけ均等に割り当てるスケジュール(動的[、チャンク])各スレッドは、すべての反復が処理されるまで、キューから「チャンク」反復を取得します。スケジュール(ガイド[、チャンク])スレッドは反復ブロックを動的に取得します。"チャンク"に縮小されます。スケジュール(実行時)OMP_SCHEDULE環境変数から取得したスケジュールとチャンクサイズ。