目前分類:OpenMP (5)

瀏覽方式: 標題列表 簡短摘要

之前對於多執行緒和 OpenMP 的平行化已經做了些簡單的介紹,有興趣的可以回頭參考《簡易的程式平行化方法-OpenMP(一)》。而由於 Heresy 最近看了些資料,也做了些測試,所以主要可能想來講最近學的一些語法吧~

首先,在 Heresy 的認知裡,一般會用到 OpenMP 的部分分為三類:

忽倫 發表在 痞客邦 留言(0) 人氣()


The omp_get_wtime function returns a double-precision floating point value equal to the elapsed wall clock time in seconds since some "time in the past". The actual "time in the past" is arbitrary, but it is guaranteed not to change during the execution of the application program. The format is as follows:

忽倫 發表在 痞客邦 留言(0) 人氣()

OpenMP 心得 (一)

最近幾年多核心 CPU 已蔚為流行,四核以上的 CPU 不再是少數追求高效能的電腦玩家才會選擇的昂貴零組件,而是漸漸成為一般電腦的標準配備,可以想見再過幾年在市面上出現十幾、三十幾核的桌上型 CPU 也不是不可能的事。多核心的 CPU 代表電腦擁有可以同時處理多項工作的能力,所以我們可以一次執行數個程式來獲得較佳的工作量對時間之效益比,或者是將單一工作分解成數個可獨立執行的部份 來平行處理以縮短該工作的執行時間。後者便是平行程式發展的著眼點。早期有需要寫平行程式的人大多是屬於比較專業的研究人員,也只有這些人所屬的機構單位 才有經費去設置高價的多 CPU 電腦系統。但是在多核心電腦普及的現在,一般程式開發人員也開始有需要去接觸這方面的知識,畢竟好的程式設計師就是要在許可的範圍內盡量去榨取電腦系統的 資源,只使用一個核心去執行程式卻放著其它的核心在旁邊納涼對某些程式設計師而言根本是一種罪惡。

忽倫 發表在 痞客邦 留言(0) 人氣()

以 VectorAdd.c 向量加法為例

gcc -fopenmp VectorAdd.c -o VectorAdd

忽倫 發表在 痞客邦 留言(0) 人氣()

多執行緒的概念

目前雙核心的 CPU 當道,AMD 的 Athlon64x2、Intel 的 Pentium-D、Core Duo,以及即將上市的 Core 2 Duo,儼然將成為下一代電腦的主流(尤其是超低價的 Pentium D,絕對是現階段 C/P 值極高的雙核心 CPU)。但是雙核心有什麼用呢?

忽倫 發表在 痞客邦 留言(0) 人氣()