Open MP計算 的值

2021-06-28 05:36:05 字數 343 閱讀 9608

#include#include#includestatic long num_steps = 100000;

double step,pi;

void main()

pi = step *sum;

clock_t t2 =clock();

printf("pi=%f,用時:%d\n",pi,t2-t1);

}

上述**使用了規約rduction(op:list);這樣每個執行緒會有乙個私有的list,當所有執行緒的list計算完成之後,每個執行緒的私有list值將被op規約為乙個list值。如果不進行歸約的話可能會導致每次的執行結果都不一樣

OpenMP平行計算PI的值

用vs新建乙個工程後,首先要右鍵專案,屬性 c c 語言,在右邊的對話方塊中openmp支援選擇是 程式 為 include include include static long num steps 100000 double step,pi void main pi step sum clock...

平行計算 一 OpenMP

openmp是一種用於共享記憶體並行系統的多執行緒庫,其支援c c fortran,並且目前大多數常用編譯器,如vs內建編譯器 gcc icc等都提供了openmp的相關支援,以gcc為例編譯時只需要新增 fopenmp選項即可完成openmp 的編譯。openmp中包含了一套編譯器偽指令 執行時函...

OpenMP平行計算的使用5

openmp建立執行緒中鎖和原子操作效能比較 原子操作 在多程序 執行緒 的作業系統中不能被其它程序 執行緒 打斷的操作就叫原子操作。原子操作是不可分割的。include include include include define num 2000000 運算次數 using namespace ...