Visual C 本地多核程式設計

2021-08-01 18:24:48 字數 1179 閱讀 8560

visual c++從2005版開始支援openmp 2.0的多核程式設計(2008和2010版也只支援2.0版)。

visual c++ 2010 beta 1版支援本地c++的ppl(parallel pattern library,並行模式庫)程式設計。

本小節介紹openmp多核程式設計,主要內容包括:openmp簡介、openmp程式設計技術、openmp應用程式設計的考慮因

素和visual c++的openmp多核程式設計。

openmp的msdn幫助文件位於:開發工具與語言\visual studio\visual c++\參考資訊

\libraries reference\openmp\(為英文版)。

openmp (open multi-processing,開放多處理)是一種面向共享記憶體以及分布式共享記憶體的多處理器多執行緒並行程式設計

語言,是一種能夠被用於顯示指導多執行緒、共享記憶體並行的應用程式程式設計介面(api),包含一組編譯器指令、庫程式、

和影響執行時行為的環境變數。openmp具有良好的可移植性,支援多種程式語言c/c++ 和fortan等。支援openmp

的編譯器包括sun compiler、gnu compiler、intel compiler和microsoft visual c++等。openmp能夠支援49

多種平台,包括大多數的類unix系統以及windows nt系統(windows 2000、windows xp、windows vista、

windows 7等)。

penmp不包含的性質有:不是建立在分布式儲存系統上的、不是在所有的環境下都是一樣的、不是能保證讓多數共享儲存器均能有效的利用

#pragma omp [clause[ [,] clause]…] newline 

#pragma(編譯指示/附註/註記/雜注)為編譯指令,omp 表示

parallel、for、parallel for、section、sections、single、master、critical、flush、ordered和atomic;

clause(子句)為可選的若干子句,子句間可以用逗號或白空符分隔;newline為換行符,每

個openmp語句必須以換行符結束。例如:

#pragma omp parallel private(var1, var2) shared(var3)

多核程式設計

一 實驗目的 1 掌握microsoft visual studio 2012配置openmp的方法 2 掌握microsoft visual studio 編寫編譯簡單openmp程式的方法。二 實驗內容 1 配置visual studio 2012使支援openmp 配置環境變數,確定執行緒的數...

c Task多核程式設計

之所以寫這篇文章是受到這篇文章的啟發,一老外寫的,很無私,以前也老聽到過多核程式設計,有幸看了上面的這篇文章,想把自己的一些理解寫下來 1 為什麼要有多核程式設計的技術那,無非兩點,多核cpu的出現和經常出現乙個cpu告訴執行,另乙個cpu閒著,cpu不應該是這種使用情況 應該是這種 2 c net...

多核程式設計文章彙總

一 基礎篇 1 多核程式設計的幾個難題及其應對策略 主要講解多核程式設計時的序列化方面的難題及其應對策略。閱讀全文 2 多核程式設計中的鎖競爭難題 鎖競爭會導致加速係數隨cpu核數增多而下降的現象。核數增加到128時,加速係數只有0.78,還不如在單核cpu上執行的速度。s p t 1 p t p ...