高效能計算中FPGA,GPU和CPU

2021-12-30 06:37:16 字數 2661 閱讀 4173

1. 高效能計算中fpga,gpu和cpu的簡介

近年來,傳統用於影象處理的gpu逐漸被發掘用來進行高效能計算,並且達到了相當好的效果,在單精度浮點運算中的速度達到5tflops,在雙精度浮點運算中的速度可以達到1tflops。如今效能最好的gpu處理器(比如nvidea的tesla k20和k40)與一些其他的多核處理器(比如intel xeon phi處理器以及ibm和inter的一些處理器)相比表現出了非常好的計算效能。

fpga傳統上是應用於單精度的定點運算,不過現在也可以浮點數進行高效能的計算,單精度浮點數的運算峰值已經超過1tflops。但是運算的峰值並不能代表在特定環境下器件的持續工作效能,比如在計算2級的fft時,inter的80-teraflop持續工作效能只能達到其峰值效能的2.73%(20gflops)。fpga工作在乙個較低的頻率下,運算峰值較低,但是可以通過硬體優化來實現對特定應用的更好的執行效率,即持續效能能達到更接近峰值運算效能的值,同時與gpu和cpu相比fpga的功率效率更高。

乙個特定的應用在不同的平台上運算是不一樣的,對於運算結果的評估可以基於以下幾點:效能、功耗、功率效率、執行效率、成本以及其他。在本文中,我們分析每個期間在峰值效能以及能耗方面的發展趨勢,並對三者在一些科學應用的持續效能進行對比,找出對於某一特定應用的最佳運算平台。

2. 峰值計算效能發展趨勢

2.1 gpu

gpu最初被設計用來進行影象處理並在該方面顯示出了強大的優勢,近10年來gpu逐漸被應用到通用計算領域,一般稱為gpgpu。基於其強大的平行計算能力,在一些其他的計算分析方面其效能早已可與多核cpu相媲美。

觀察多代gpu的發展,我們發現其峰值效能並不是簡單的線性增長,單精度浮點運算和雙精度浮點運算都是這樣。我們沒有辦法去簡單的描述gpu的全面的發展,因為各種gpu的結構非常多,所以在此只挑出在某個年份的最佳效能的一些gpu進行分析。

每一代gpu之間的效能提公升超過1tflop,同時右圖中可知在某些年份工藝技術沒有提公升,但是效能提公升了,說明效能的增長不僅與新的製造工藝有關也與結構的優化有關。單精度和雙精度的效能差距由最初的相差10倍降到了最新一代的只差4倍左右。

關於能耗方面,gpu的功率效率(峰值效能與熱設計功耗(tdp)的比值)也是在穩定則增長,單精度的功率效率由最初的0.5gflops/w增加到了gflops/w,雙精度的功率效率由0.5gflops/w增加到了6gflops/w。這意味著gpu以乙個增長的功率效率提供著乙個驚人的運算效能。

gpu的外部儲存頻寬也非常高,geforce 6800的頻寬為35 gbytes/s,k20, k20x 和 k40的頻寬分別為208,250和288 gbytes/s。.

2.2 多核cpu

通用cpu的峰值運算效能在近年來也獲得了顯著提公升,圖2中顯示了部分intel的著名cpu的峰值運算效能。

intel最近推出的xeon phi 7120p處理器的峰值運算效能可以達到單精度2416gflops,雙精度1208gflops,intel處理器計算效能的提公升靠的是增加cpu的核數,這些處理器的功率效率和gpu相比較低。最初65nm技術的cpu的功率效率為0.1 gflops/w,目前22nm技術下的cpu的功率效率已經增加到單精度9 gflops/w,雙精度4.5 gflops/w。

在intel的這些處理器中,2023年出的一款多核處理器在3.16ghz頻率1.07v電壓下,峰值運算速度可以達到單精度1 tflop。cpu或者多核cpu的儲存器頻寬也很高。比如xeon phi 7120p的頻寬為352gbytes/s,比最近出的gpu稍微高一些。

2.3 fpga

fpga的峰值運算效能由它所包含的乘法器和lut的資源決定,觀察xilinx公司的一些產品發現乘法器和lut的資源並不是線性增長的(如圖3所示)。最新的virtex7系列fpga中 xc7vx980t含有3600個18*18的乘法器和612000個lut,xc7v2000t含有2160個乘法器和1221600個lut。

如果要分析fpga的峰值運算效能,我們需要考慮三種情況:只有加法器,只有乘法器,有乘法器和加法器。加法器可以只通過lut就可以實現,而乘法器的實現則需要dsp和lut的不同組合(組合結構為m0,m1,m2)。乘加運算真是這些乘法器和加法器的一一組合。

對於雙精度的峰值運算,只含有加法器運算的最佳的峰值運算效能出現在xc7v2000t fpga中,為671gflops;只含有乘法器運算的最佳峰值運算效能降為168gflops;加法器和乘法器的組合運算的最佳運算效能為302gflops,由xc7vx980t獲得。

fpga的功率效率超過10gflops/w,一般來說是比cpu和gpu要高的,而且隨著技術的發展fpga的功率效率也會繼續不斷提公升。比如altera的一款能達到5tflops的高效能fpga就應用了intel的14nm tri-gate,功率效率達到100gflops。

2.4 峰值計算效能的趨勢

為了更好的理解gpu,cpu,fpga的相對發展,下面選取他們中在某些年最佳的效能的產品引數進行比較,包含單精度和雙精度的運算,結果如圖6,圖7所示。

在單精度的浮點運算中,gpu的效能一直是遙遙領先。在2023年fpga和cpu的效能都有很大提公升,而在2023年cpu的效能仍然在提公升,而fpga相對於gpu 的效能下降了。在2023年之前,fpga的效能一直優於cpu,但在2023年,出現了多核cpu比如intel phi,因此情況改變了。

對於雙精度浮點運算,可以看到gpu的效能除了在前幾年表現的差強人意,在2023年之後則一直領跑後兩者。同時在2023年之後cpu的效能也超過了fpga,而且在2023年cpu和gpu的效能也已經很接近了,大概只相差5%。

HPC高效能計算

l0 伺服器,儲存,網路等硬體環境 l1 系統環境 windows,l2 集群管理 l3 行業應用 集群管理 執行庫環境 mpiopenmpi mvapic h2 mpi 標準 message passing inte ce 訊息傳遞介面 mpi是程序級別的,這些函式庫裡面主要涉及的是兩個程序之間通...

高效能計算複習

高效能計算 high performance computing,縮寫hpc 指通 常使用很多處理器 作為單個機器的一部分 或者某一集群 中組織的幾台計算機 作為單個計算資源操作 的計算系統 和環境floatskm gtp 36912 1518千百萬 十億萬億 千萬億百億億 hello world的...

高效能計算 HPCC 評述

在 看到如下內容 關鍵句 soon after releasing all phases,we will release the source code.the binaries below are provided under this license agreement.評述 1 hpcc到目前...