亚洲 日韩 激情 无码 中出,无码人妻久久一区二区三区蜜桃,亚无码乱人伦一区二区,四虎影视永久免费观看,四虎成人精品一区二区免费网站

一文看懂CPU算力測算方法(Cpu算力)

小編:大悶頭 更新時間:2022-08-23 23:38

說到CPU算力,就不能不提到FLOPS了。

一文看懂CPU算力測算方法(Cpu算力)

FLOPS是CPU每秒浮點運算次數(shù),也稱為每秒峰值速度,英語是Floating-point operations per second;簡寫就是FLOPS,flops 或者 flop/s。

在多數(shù)情況下,測算FLOPS比測算每秒指令數(shù)(IPS)要準確。

要測算FLOPS就要搞清楚浮點數(shù)的精度。

一文看懂CPU算力測算方法(Cpu算力)

浮點(floating-point)指的是帶有小數(shù)的數(shù)值,浮點運算就是小數(shù)的四則運算,常用來測量計算機運算速度或被用來估算計算機性能,特別是在科學(xué)計算領(lǐng)域會使用到大量的浮點運算,對CPU的算力性能要求就比較高了。

說到浮點計算能力,就涉及到半精度、單精度、雙精度三種類型,雙精度是64位的(FP64),單精度是32位的(FP32),半精度是16位的(FP16),半精度是英偉達在2002年搞出來的,雙精度和單精度是為了計算,而半精度更多是為了降低數(shù)據(jù)傳輸和存儲成本。

雙精度浮點數(shù)

一文看懂CPU算力測算方法(Cpu算力)

單精度浮點數(shù)

一文看懂CPU算力測算方法(Cpu算力)

半精度浮點數(shù)

一文看懂CPU算力測算方法(Cpu算力)

雙精度、單精度、半精度都分成3部分,符號位,指數(shù)和尾數(shù)。

不同精度只不過是指數(shù)位和尾數(shù)位的長度不一樣。

解析一個浮點數(shù)就5條規(guī)則

1、如果指數(shù)位全零,尾數(shù)位是全零,那就表示0

2、如果指數(shù)位全零,尾數(shù)位是非零,就表示一個很小的數(shù)(subnormal),計算方式 (?1)^signbit × 2^?126 × 0.fractionbits

3、如果指數(shù)位全是1,尾數(shù)位是全零,表示正負無窮

4、如果指數(shù)位全是1,尾數(shù)位是非零,表示不是一個數(shù)NAN

5、剩下的計算方式為 (?1)^signbit × 2^(exponentbits?127) × 1.fractionbits

常用的語言幾乎都不提供半精度的浮點數(shù),這時候需要我們自己轉(zhuǎn)化。

所以,要做算力規(guī)劃時要結(jié)合其使用場景來分析,其實很多場景對于精度要求也沒那么高,例如:分布式深度學(xué)習(xí)里面,如果用半精度的話,比起單精度來可以節(jié)省一半傳輸成本??紤]到深度學(xué)習(xí)的模型可能會有幾億個參數(shù),使用半精度傳輸還是非常有價值的。

通常,在沒有特別明確算力算法的前提下,我們默認都是按照雙精度去測算算力能力的。

一般做算力規(guī)模分析時會明確算力單位如EFLOPS,或PFLOPS,這就需要自己根據(jù)情況去換算了,但都是通過FLOPS換算而來的。

浮點計算值的換算單位:

一個MFLOPS(megaFLOPS)等于每秒一佰萬(=10^6)次的浮點運算

一個GFLOPS(gigaFLOPS)等于每秒拾億(=10^9)次的浮點運算

一個TFLOPS(teraFLOPS)等于每秒萬億(=10^12)次的浮點運算

一個PFLOPS(petaFLOPS)等于每秒千萬億(=10^15)次的浮點運算

一個EFLOPS(exaFLOPS)等于每秒百億億(=10^18)次的浮點運算

一個ZFLOPS(zettaFLOPS)等于每秒十萬京(=10^21)次的浮點運算

對于FLOPS的計算公式為: FLOPS=CPU核數(shù)*單核主頻*CPU單個周期浮點計算值*1000000

只要我們知道CPU的型號,就可以到對應(yīng)的CPU廠商網(wǎng)站上查詢相關(guān)參數(shù)了。

下面我們拿intel的CPU為例,到Intel官網(wǎng)進行查詢,網(wǎng)址如下:https://ark.intel.com/content/www/us/en/ark/search.html

輸入具體的CPU型號,如 6240R,進入對應(yīng)參數(shù)頁面。

https://ark.intel.com/content/www/us/en/ark/products/199343/intel-xeon-gold-6240r-processor-35-75m-cache-2-40-ghz.html

一文看懂CPU算力測算方法(Cpu算力)

CPU單個周期浮點計算值有點復(fù)雜,具體如下表

instruction set(指令集)

每時鐘周期的單精度運算次數(shù)

每時鐘周期的雙精度運算次數(shù)

SSE(128-bits)

8

4

AVX(256-bits)

16

8

AXV2(256-bits)

32

16

AXV256(512-bits)

64

16(FMA=1)

32(FMA=2)

那么,6240R的核數(shù)為10,主頻為2.4Hz,每時鐘周期的雙精度運算次數(shù)32,其單顆CPU的GFLOPS算力算法就是24*2.4*32=1843.2 GFLOPS

索性將之前用過的CPU都拿出來分析了一下,順便按照CPU計算能力排個序。

一文看懂CPU算力測算方法(Cpu算力)一文看懂CPU算力測算方法(Cpu算力)