2011年3月19日 星期六

OpenMP 心得 (一)

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