parallel
複数のスレッドで同時に実行されるコードである並列領域を定義します。
#pragma omp parallel [clauses]
{
code_block
}
解説
指定項目
- clause (省略可能)
ゼロ以上の句。 並列 でサポートされる用語のリストについては" 解説 " を参照してください。
解説
並列 の OpenMP のディレクティブは次の句をサポートします :
並列 はsections (OpenMP) と for (OpenMP) のディレクティブで使用できます。
詳細については、「2.3 parallel コンストラクト」を参照してください。
使用例
次の例ではスレッドの数を設定し並列領域を定義する方法を示します。既定ではスレッドの数はコンピューターの論理プロセッサの数と同じになります。したがってたとえば有効なハイパー スレッディングである 1 台の物理的なプロセッサが搭載されたコンピューターの場合2 種類の論理プロセッサおよび 2 のスレッドを使用します。
// omp_parallel.cpp
// compile with: /openmp
#include <stdio.h>
#include <omp.h>
int main() {
#pragma omp parallel num_threads(4)
{
int i = omp_get_thread_num();
printf_s("Hello from thread %d\n", i);
}
}
コメント
出力順序が異なるコンピューターによって異なる場合があることに注意してください。