linpack学习记录
??基準(zhǔn)測(cè)試程序(Benchmark)用來測(cè)量機(jī)器的硬件最高實(shí)際運(yùn)行性能,以及軟件優(yōu)化的性能提升效果,可分為微基準(zhǔn)測(cè)試程序(Microbenchmark)和宏基準(zhǔn)測(cè)試程序(Macrobenchmark)
微基準(zhǔn)測(cè)試程序用來測(cè)量一個(gè)計(jì)算機(jī)系統(tǒng)的某一特定方面,如CPU定點(diǎn)/浮點(diǎn)性能、存儲(chǔ)器速度、I/O速度、網(wǎng)絡(luò)速度或系統(tǒng)軟件性能(如同步性能);宏基準(zhǔn)測(cè)試程序用來測(cè)量一個(gè)計(jì)算機(jī)系統(tǒng)的總體性能或優(yōu)化方法的通用性,可選取不同應(yīng)用,如Web服務(wù)程序、數(shù)據(jù)處理程序以及科學(xué)與工程計(jì)算程序。
微基準(zhǔn)測(cè)試程序
STREAM:由John McCalpin設(shè)計(jì)的測(cè)量持續(xù)存儲(chǔ)器帶寬和計(jì)算速度的測(cè)試程序,包含Copy、Scalar、Add和Traid四個(gè)函數(shù),分別用來執(zhí)行向量拷貝、向量更新拷貝、向量加法和向量更新。STREAM2包含F(xiàn)ill、Copy、Daxpy和Sum四個(gè)函數(shù),分別用來執(zhí)行向量賦值、向量拷貝、向量更新和向量求和。STREAM的指標(biāo)為實(shí)測(cè)存儲(chǔ)器帶寬(MB/s)。
LMBENCH:用來測(cè)量OS開銷和處理器、緩存、存儲(chǔ)器、網(wǎng)絡(luò)以及磁盤之間的數(shù)據(jù)傳輸能力。
宏基準(zhǔn)測(cè)試程序
Linpack:20世紀(jì)70年代中期開發(fā)了IAnpack軟件用于解線性方程,因?yàn)長(zhǎng)inpack使用廣泛且其指標(biāo)幾乎可以在所有參加測(cè)試的系統(tǒng)上得到,國(guó)際上一般用Linpack測(cè)試出的最高性能指標(biāo)作為衡量機(jī)器性能的標(biāo)準(zhǔn)。每年兩次更新并發(fā)布的世界超級(jí)計(jì)算機(jī)500強(qiáng)排行榜(TOPS00)即按Linpack測(cè)試值排序。
LINPACK是線性系統(tǒng)軟件包(Linear system package) 的縮寫,計(jì)算機(jī)硬件的不斷的升級(jí)帶來了系統(tǒng)處理性能持續(xù)的提高,如何的對(duì)平臺(tái)的性能作出正確的判斷就是性能測(cè)試的主要目標(biāo),業(yè)界也有多種測(cè)試基準(zhǔn),有的是基于實(shí)際的應(yīng)用種類如TPC-C,有的是測(cè)試系統(tǒng)的某一部分的性能,如測(cè)試硬盤吞吐能力的IOmeter,測(cè)試內(nèi)存帶寬的stream。
Linpack測(cè)試包括三類:Linpack100、Linpack1000和HPL。
Linpack100求解規(guī)模為100階的稠密線性代數(shù)方程組,只允許采用編澤優(yōu)化選項(xiàng)進(jìn)行優(yōu)化,不得更改代碼,甚至代碼中的注釋也不得修改。
Linpack1000要求求解規(guī)模為1000階的線性代數(shù)方程組,達(dá)到指定的精度要求,可以在不改變計(jì)算量的前提下做算法和代碼上的優(yōu)化。
HPL(High?Performance Linpack)也叫高度并行計(jì)算基準(zhǔn)測(cè)試,對(duì)數(shù)組大小N沒有限制,求解問題的規(guī)??梢愿淖?#xff0c;除基本算法(計(jì)算量)不可改變外,可以采用其他任何優(yōu)化方法。
前兩種測(cè)試運(yùn)行規(guī)模較小,已不適合現(xiàn)代計(jì)算機(jī)的測(cè)試,因此一般使用Linpack即指HPL。
HPL是針對(duì)現(xiàn)代并行計(jì)算機(jī)提出的測(cè)試方式。用戶在不修改任意測(cè)試程序的基礎(chǔ)上,可以調(diào)節(jié)問題規(guī)模大小N(矩陣大小)、使用到的CPU數(shù)目、使用各種優(yōu)化方法等來執(zhí)行該測(cè)試程序,以獲取最佳的性能。HPL采用高斯消元法求解線性方程組。當(dāng)求解問題規(guī)模為N時(shí),浮點(diǎn)運(yùn)算次數(shù)為(2/3 * N^3+2*N^2)。因此,只要給出問題規(guī)模N,測(cè)得系統(tǒng)計(jì)算時(shí)間T,峰值=計(jì)算量(2/3 * N^3+2*N^2)/計(jì)算時(shí)間T,測(cè)試結(jié)果以浮點(diǎn)運(yùn)算每秒(Flops)給出。
????HPLinpack的核心算法是求解階 為n 的線性方程:Ax=b,A∈Rn×n?,x,b∈Rn 。算法首 先使用行選主元高斯消元法對(duì)系數(shù)矩陣 [A,b]進(jìn) 行 LU 分 解:Pr[A,b]= [LU], [ ]y ,Pr,L,U ∈ Rn×n,y∈ Rn 。LU 分解 完 成 后,解 原 方 程 等 價(jià) 于 求解上三角方程Ux =y。 從上 述 介 紹 可 以 看 出,HPLinpack 測(cè)試 程 序 的執(zhí)行分為 LU 分解 和 回 代 兩 個(gè) 過 程。其 中,LU 分解過程的浮點(diǎn)操作次數(shù)為 (2/3)n3 - (1/2)n2?(-(1/2)n2)在計(jì)算機(jī)中相對(duì)影響很小,忽略不計(jì)); 回代過程的浮點(diǎn)操 作 次 數(shù) 為2n2?。
???所以總的浮點(diǎn)操作運(yùn)算次數(shù)為:分解操作運(yùn)算次數(shù)+回代浮點(diǎn)運(yùn)算次數(shù)(2/3 * N^3+2*N^2)。
???
LINPACK主要的特色是:
1、率先開創(chuàng)了力學(xué) (Mechanics) 分析軟件的制作。
2、建立了將來數(shù)學(xué)軟件比較的標(biāo)準(zhǔn)。
3、提供軟件鏈接庫(kù), 允許使用者加以修正以便處理特殊問題, (當(dāng)然程序名稱必須改寫, 并應(yīng)注明修改之處, 以尊重原作者, 并避免他人誤用。)
4、兼顧了對(duì)各計(jì)算機(jī)系統(tǒng)的通用性, 并提供高效率的運(yùn)算。
?LINPACK 還是廣泛地應(yīng)用于解各種數(shù)學(xué)和工程問題,是數(shù)學(xué)庫(kù)測(cè)試程序。 也由于它高效率的運(yùn)算, 使得其它幾種數(shù)學(xué)軟件例如IMSL、 MATLAB 紛紛加以引用來處理矩陣問題, 所以足見其在科學(xué)計(jì)算上有舉足輕重的地位。
Linpack現(xiàn)在在國(guó)際上已經(jīng)成為最流行的用于測(cè)試高性能計(jì)算機(jī)系統(tǒng)浮點(diǎn)性能的benchmark。通過利用高性能計(jì)算機(jī),用高斯消元法求解N元一次稠密線性代數(shù)方程組的測(cè)試,評(píng)價(jià)高性能計(jì)算機(jī)的浮點(diǎn)性能。
計(jì)算峰值
隨著產(chǎn)品硬件的不斷的升級(jí),整個(gè)的計(jì)算能力也以數(shù)量級(jí)的速度提升。衡量計(jì)算機(jī)性能的一個(gè)重要指標(biāo)就是計(jì)算峰值,例如浮點(diǎn)計(jì)算峰值,它是指計(jì)算機(jī)每秒鐘能完成的浮點(diǎn)計(jì)算最大次數(shù)。包括理論浮點(diǎn)峰值和實(shí)測(cè)浮點(diǎn)峰值:
理論浮點(diǎn)峰值是該計(jì)算機(jī)理論上能達(dá)到的每秒鐘能完成浮點(diǎn)計(jì)算最大次數(shù),它主要是由CPU的主頻決定的,
理論浮點(diǎn)峰值=CPU主頻×CPU每個(gè)時(shí)鐘周期執(zhí)行浮點(diǎn)運(yùn)算的次數(shù)×系統(tǒng)中CPU核心數(shù)目。
實(shí)測(cè)浮點(diǎn)峰值是指Linpack測(cè)試值,也就是說在這臺(tái)機(jī)器上運(yùn)行Linpack測(cè)試程序,通過各種調(diào)優(yōu)方法得到的最優(yōu)的測(cè)試結(jié)果。實(shí)際上在實(shí)際程序運(yùn)行過程中,幾乎不可能達(dá)到實(shí)測(cè)浮點(diǎn)峰值,更不用說達(dá)到理論浮點(diǎn)峰值了。這兩個(gè)值只是作為衡量機(jī)器性能的一個(gè)指標(biāo),用來表明機(jī)器處理能力的一個(gè)標(biāo)尺和潛能的度量。
硬件準(zhǔn)備
準(zhǔn)備硬件平臺(tái)的配置
升級(jí)到最新的BIOS、BMC等版本
調(diào)整對(duì)性能有影響的參數(shù)設(shè)置
軟件準(zhǔn)備
操作系統(tǒng)的準(zhǔn)備。由于OS自身也會(huì)占用系統(tǒng)資源,因此一般會(huì)使用linux作為linpack測(cè)試的OS平臺(tái),采用最新的內(nèi)核版本的linux,這樣可以充分的發(fā)揮出硬件的新的特性,發(fā)揮出平臺(tái)的計(jì)算性能;在系統(tǒng)啟動(dòng)后,將一些沒有必要的系統(tǒng)守護(hù)進(jìn)程去掉,可以運(yùn)行ntsysv命令,關(guān)閉除了irqbalance 和 messagebus.之外的系統(tǒng)服務(wù)進(jìn)程,也可以節(jié)省系統(tǒng)的資源;并且將操作系統(tǒng)啟動(dòng)到第3級(jí),不能進(jìn)入圖形方式。
總結(jié)
以上是生活随笔為你收集整理的linpack学习记录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 福禄克同轴适配器DTX-COAX配DTX
- 下一篇: “赋能开发者”高峰论坛暨西安葡萄城30周