OpenMP常用指令釋義

2021-07-11 20:58:49 字數 792 閱讀 7290

1 #pragma omp for 

int j = 0;

#pragma omp for

for ( j = 0; j < 4; j++ )

執行以上**後列印出以下結果

j = 0, threadid = 0

j = 1, threadid = 0

j = 2, threadid = 0

j = 3, threadid = 0

單獨使用for,後續迴圈在乙個執行緒中執行。可以看出沒有形成多執行緒的效果,所以一般不推薦使用。

2 #pragma omp parallel 

int j = 0;

#pragma omp parallel for

for ( j = 0; j < 4; j++ )

執行後會列印出以下結果:

j = 0, threadid = 0

j = 2, threadid = 2

j = 1, threadid = 1

j = 3, threadid = 3

3 #pragma omp parallel  for

#pragma omp parallel

}執行以上**會列印出以下結果:

j = 1, threadid = 1

j = 3, threadid = 3

j = 2, threadid = 2

j = 0, threadid = 0

OpenMP常用指令釋義

1 pragma omp for int j 0 pragma omp for for j 0 j 4 j 執行以上 後列印出以下結果 j 0,threadid 0 j 1,threadid 0 j 2,threadid 0 j 3,threadid 0 單獨使用for,後續迴圈在乙個執行緒中執行。...

openmp常用總結

執行時函式 win 10 vs2017 include intmain 並行結束,序列區域 return0 目的 接下來乙個區域內指令全部執行緒執行 理解 當執行緒執行到並行指令後,建立指定數目或者預設數目的執行緒並成為該組執行緒的主線程。當執行完並行區域後,只有主線程繼續執行。指令 paralle...

OpenMP中的常用函式

1 設定執行緒數目 其定義如下 void omp set num threads int num threads 通過該函式來指定其後用於平行計算的執行緒數目,其中引數num threads就是指定的執行緒數目。2 獲取執行緒數目 其定義如下 int omp get num threads 通過該函...