OpenMP平行計算PI的值

2021-06-07 04:11:22 字數 394 閱讀 2234

用vs新建乙個工程後,首先要右鍵專案,屬性--c/c++--語言,,在右邊的對話方塊中openmp支援選擇是;

程式**為:

#include

#include

#include

static 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

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

平行計算入門 openMP

openmp提供了對於並行描述的高層抽象,降低了並行程式設計的難度和複雜度,這樣程式設計師可以把更多的精力投入到並行演算法本身,而非其具體實現細節。對基於資料分集的多執行緒程式設計,openmp是乙個很好的選擇。同時,使用openmp也提供了更強的靈活性,可以較容易的適應不同的並行系統配置。執行緒粒...

OpenMP平行計算的使用5

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