ZT - 怎樣提高呼叫數學函式的程式的效能(1)
簡介: 本文向您介紹了 IBM MASS 高效能數學庫的內容,並展示了怎樣透過 IBM® XL C/C++ 與 XL Fortran 彙編器的自動向量化功能去使用它們,而不用需要源程式方面的更改。在介紹自動向量化的概念以及相應的彙編器選項以後,本文會提供一個離散 Fourier 轉變程式作為自動向量化的真實範例。計時的結果演示了透過 MASS 自動向量化的自動啟用功能,從而對範例程式執行彙編器使得速度增加了 8.94 倍。
[@more@]MASS 指的是數學加速子系統(Mathematical Acceleration Subsystem)。它由數學函式組成,這些數學函式是為在各種 IBM 計算平臺上最佳化效能所設定的。MASS 最初是由 IBM 公司在 1995 年啟動的,並在隨後的發展中繼續得到改善,一直到現如今仍然在改進。
現在所有的 IBM® POWER™ 處理器都有相應的各種版本的 MASS,執行 AIX® 或者 Linux® 作業系統。還有其他版本的 IBM System BlueGene®/L 和 IBM System BlueGene®/P 超級電腦,以及 IBM Cell Broadband Engine™ (Cell/B.E.™)方案。庫包含有元素函式的加速實施方案,例如 三角函式以及雙曲線函式以及它們的倒數、乘方、對數、指數、錯誤函式以及其他函式。包含函式的完整列表可以在 頁面中找到。
有標量的庫也有向量的庫,而對於 Cell/B.E. 和 POWER7 來說,還有單個指示的多個資料(SIMD)庫。注意精確性與例外情況的處理在 MASS 函式與系統庫函式中可能是不一樣的。對於目標硬體的其他彙編器(例如 gcc)的使用者來說,MASS 庫與 IBM XL C/C++ 還有 XL Fortran 彙編器封裝到一起,並且可以透過 MASS Web 網站來獲得。
可以透過 C、 C++ 或者 Fortran 源程式來訪問庫。IBM XL C/C++ 與 IBM XL Fortran 彙編器可以識別機會以使用 MASS 來加速源程式,並自動啟用它而不用更改源程式。本文向您介紹了怎樣實施一項技術幫助您的公司更好地使用這些強大的技術。
任何包含有對數學庫函式(例如 exp、 log、sin、cos 等等)呼叫的 C、C++ 或者 Fortran 程式,潛在意義上都會從本文中所描述的技術中受益。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16896827/viewspace-1036474/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ZT - 怎樣提高呼叫數學函式的程式的效能(2)函式
- ZT - 怎樣提高呼叫數學函式的程式的效能(4)函式
- ZT - 怎樣提高呼叫數學函式的程式的效能(5)函式
- ZT - 怎樣提高呼叫數學函式的程式的效能(6)函式
- ZT - 怎樣提高呼叫數學函式的程式的效能(7)函式
- [Q]怎樣建立基於函式索引zt函式索引
- 怎樣提高伺服器的效能伺服器
- 透過使用型別庫提高VB呼叫DLL函式的效能 (轉)型別函式
- 利用函式的惰性載入提高 javascript 程式碼效能函式JavaScript
- 移除函式呼叫能有更好的效能函式
- 函式的呼叫方式和引數函式
- 學習javaScript必知必會(1)~js介紹、函式、匿名函式、自呼叫函式、不定長引數JavaScriptJS函式
- Itrace跟蹤程式呼叫庫函式引數選項-怎麼學習linux運維函式Linux運維
- 【C語言】函式的概念和函式的呼叫(引數傳遞)C語言函式
- ?年學 go 1:變數&函式Go變數函式
- 函式呼叫的引數規則與解包函式
- 像數學公式一樣徹底簡單理解JavaScript函式呼叫與this 指標公式JavaScript函式指標
- 怎樣測試程式的平均效能
- 函式呼叫引數變數傳值的問題函式變數
- 在C++中使用Lambda函式提高程式碼效能C++函式
- 淺析一個函式呼叫另一個函式的變數函式變數
- C程式函式呼叫&系統呼叫C程式函式
- 外部函式的呼叫函式
- js中的寫出想jquery中的函式一樣呼叫JSjQuery函式
- 人人都能學會的python程式設計教程10:呼叫函式Python程式設計函式
- 程式中的函式引數函式
- JS中函式內套函式的呼叫JS函式
- Javascript的函式呼叫與thisJavaScript函式
- Lua中呼叫ref和out修飾引數的函式/過載函式函式
- 數學函式函式
- java可以像python中的函式式工具裡的reduce那樣呼叫嗎?JavaPython函式
- js函式 函式自呼叫 返回函式的函式 (閉包)JS函式
- Swift 呼叫 Objective-C 的可變引數函式SwiftObject函式
- ASP中函式呼叫對引數的影響 (轉)函式
- C#程式碼與javaScript函式的相互呼叫C#JavaScript函式
- 透過例子學習Lua(4)--函式的呼叫(轉)函式
- 函式呼叫棧的問題函式
- 虛擬函式的呼叫原理函式