簡單了解OpenMP

2021-07-27 12:35:15 字數 762 閱讀 1645

openmp 是 open multiprocessing 的縮寫。openmp 並不是乙個簡單的函式庫,而是乙個諸多編譯器支援的框架,或者說是協議吧,總之,不需要任何配置,你就可以在 visual studio 或者 gcc 中使用它了。

#pragma omp parallel

vs中配置

很多需要並行的**用for寫起來會比較痛苦,這時可以用「#pragma omp parallel sections」標示將要並行執行的**括起來,然後用」#pragma omp section」標示每一條執行緒的執行**

設定環境變數,我的電腦->屬性->高階->環境變數,新建乙個 omp_num_threads變數,值設為2,即為程式執行的執行緒數

在環境變數中設定

omp_num_threads變數,值設為8,那麼就是8執行緒了(重新設定環境變數後,需要重啟vs)

這個寫的很好

大多數情況下,我們主要會將多執行緒技術應用在迴圈中而不是全部**。openmp主要被應用於for迴圈的多執行緒處理,這主要還是因為for迴圈比較容易控制。當然如果你非要用在while迴圈上也不是不可以,只不過要大量修改你的**然後用乙個block來圈在while之外,總之是乙個比較另類的操作了。

#include

#include

"omp.h"

using

namespace

std;

intmain(int argc, char **argv) }

openmp簡單介紹

penmp是乙個業界的標準,很早以前就有了。我們可以在c c 和fortran使用openmp 很容易的引入多執行緒。在學習使用這個之前應該有一定的c c 的基礎。在vs中啟用openmp很簡單,很多主流的編譯環境都內建了openmp。在專案上右鍵 屬性 配置屬性 c c 語言 openmp支援,選...

openmp配置指南 openmp開發環境配置

語句繫結和巢狀規則 庫函式和環境變數設定 12.openmp計算例項 13.openmp應用程式設計的效能分析 2013 8 18 3 6.9 openmp執行緒同步與執行緒資料語句 資料競爭問題.介紹輕量級虛擬化技術 docker 的核心概念和基本架構,並基於 docker 技術在 linux 平...

sql簡單了解

sql是一種資料庫語言,資料庫是用來儲存 管理 組織資料的倉庫。sql中有許多的關鍵字,現在只了解下很重要的,經常出現的關鍵字。查詢select,要和from連用。where是指明位置的關鍵字,其內容很豐富。delete刪除,刪除無儲存。delete from xx where xx。update更...