多核編程框架 OpenMP 4.0 規范發布
OpenMP 4.0 規范發布了,這是 OpenMP 標準語言規范的一次主要的升級,除了很多主要增強外,該版本還提供了全新的機制用來描述數據和計算在不同計算機之間移動的代碼。此外該版本新增對加速器、SIMD 編程以及使用線程親和度實現更好優化。
OpenMP是由OpenMP Architecture Review Board牽頭提出的,并已被廣泛接受的,用于共享內存并行系統的多線程程序設計的一套指導性注釋 (Compiler Directive)。OpenMP支持的編程語言包括C語言、C++和Fortran;而支持OpenMP的編譯器包括Sun Compiler,GNU Compiler和Intel Compiler等。OpenMP提供了對并行算法的高層的抽象描述,程序員通過在源代碼中加入專用的pragma來指明自己的意圖,由此編譯器可以自動 將程序進行并行化,并在必要之處加入同步互斥以及通信。當選擇忽略這些pragma,或者編譯器不支持OpenMP 時,程序又可退化為通常的程序(一般為串行),代碼仍然可以正常運作,只是不能利用多線程來加速程序執行。
OpenMP提供的這種對于并行描述的高層抽象降低了并行編程的難度和復雜度,這樣程序員可以把更多的精力投入到并行算法本 身,而非其具體實現細節。對基于數據分集的多線程程序設計,OpenMP是一個很好的選擇。同時,使用OpenMP也提供了更強的靈活性,可以較容易的適 應不同的并行系統配置。線程粒度和負載平衡等是傳統多線程程序設計中的難題,但在OpenMP中,OpenMP庫從程序員手中接管了部分這兩方面的工作。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!