程式優化之並行OpenMP

2021-07-09 16:06:55 字數 409 閱讀 1283

參考:

1. openmp程式設計環境建立:project->configuration property->c/c++->language->openmp surport yes

2. #include

3. 迴圈並行化 #pragma omp parallel for 

4. 資料環境,private/shared, for迴圈內定義的變數預設為私有變數,之外的預設為公有變數。

5. 執行緒同步之互斥鎖型別:

(1)臨界區#pragma omp critical

(2)互斥鎖函式:omp_lock_t,omp_init_lock(),omp_set_lock(),omp_unset_lock(),omp_destroy_lock;

(3)原子操作 #pragma omp atomic

OpenMP程式 for 迴圈並行的效率

pragma omp parallel for 這條語句是用來指定後面的for迴圈語句變成並行執行的,將for迴圈裡的語句變成並行執行後效率會不會提高呢?還是測試一 下吧,測試的時候,迴圈最好大一些,增加計算量,不然程式耗時太短,很難區分。result 在四核的機器上,開了四個執行緒,加速比基本上是...

OpenMP並行程式設計(一)

openmp並行程式設計 一 openmp是乙個支援共享儲存並行設計的庫,特別適宜多核cpu上的並行程式設計。今天在雙核cpu機器上試了一下openmp並行程式設計,發現效率方面超出想象,因此寫出來分享給大家。在vc8.0中專案的屬性對話方塊中,左邊框裡的 配置屬性 下的 c c 下的 語言 頁裡,...

OpenMP並行程式設計(一)

openmp並行程式設計 一 openmp是乙個支援共享儲存並行設計的庫,特別適宜多核cpu上的並行程式設計。今天在雙核cpu機器上試了一下openmp並行程式設計,發現效率方面超出想象,因此寫出來分享給大家。在vc8.0中專案的屬性對話方塊中,左邊框裡的 配置屬性 下的 c c 下的 語言 頁裡,...