鐵之狂傲

 取回密碼
 註冊
搜尋

切換到指定樓層
1#
  GPGPU通用計算發展的現在早已過了萌芽期,新一代TOP500超級電腦狀元“Titan”使用的就是NVIDIA的Tesla K20加速卡作為運算主力。專業領域離消費者很遠,而我們之前做過的測試也顯示GPU通用計算也能在圖像處理、視訊編碼這樣的日常應用中給消費者帶來性能提升。
nvidia_isc_tesla_xeon_bandwidth_flops.jpg
GPU編程性能確實有提高,但是沒有這麼神奇

  如今的顯示卡一年半左右升級一次,Tesla K20相比上一代Fermi有三倍雙精度浮點性能提升,使用GPU加速的代碼也有100或者200倍的性能提升,NVIDIA以及AMD展示的代碼已經證明了這一前景,不過理念是好的,但是GPU加速真的有這麼強大的加速效果嗎?
  NVIDIA Tesla事業部總監Sumit Gupta在接受INQ採訪時稱GPU帶來的上百倍性能提升是被現實中未最佳化的代碼打敗了。他說:“我們見到的100倍、200倍甚至更高的代碼性能提升主要來自大學,NVIDIA已經跟許多大學合作,展示了GPU加速代碼有100倍的性能提升。”
  “他們主要來自學術研究機構,如果你仔細看一下為什麼這些代碼有100倍的性能提升,你就會發現主要原因是他們編寫的CPU代碼太爛,因為他們中很多並不是專業的電腦科學家,而是生物學家、化學家以及物理學家,他們寫的C代碼對CPU來說也不夠好,所以他們發現在GPU上使用CUDA或者CUDA Fortran編程要比在多核CPU上使用MPI或者多執行緒編程要容易的多。”
  按照Gupta的說法,其實很多人在GPU編程環境下獲得上百倍或更高的代碼性能提升的原因並不是GPU編程性能太強大了,而是因為原始的代碼太爛,對多核CPU支援都不夠好,所以一旦用在了超多核心的GPU上性能就會大幅提升。
  Gupta稱在HPC領域中如果代碼對多核CPU最佳化的足夠好,那麼在GPU加速環境中代碼性能提升也就只有5-10倍了,有些情況下還會更少,甚至只有2倍。不過2倍代碼加速也很不錯了,因為這樣的情況下CPU最佳化已經沒有空間了。
  NVIDIA稍早在宣傳GPGPU通用計算時曾經舉過例子,PPT上展示的通常都是使用GPU編程性能可以提升數百倍,令人興奮不已。如今他們自己也公佈實情了,這樣的情況通常是因為原始的代碼對多核最佳化不足,連CPU性能也不能充分發揮,所以在GPU上表現出更多的性能提升。
  如果原始的代碼已經最佳化到位,那麼在GPU加速環境下性能提升通常只有幾倍,甚至只有2倍。不過2倍的提升也算是一個滿意的結果了,因為CPU核心數量有限,此時已經沒有太多的最佳化空間了。
 
轉播0 分享0 收藏0

回覆 使用道具 檢舉

你需要登入後才可以回覆 登入 | 註冊

存檔|手機版|聯絡我們|新聞提供|鐵之狂傲

GMT+8, 25-2-19 16:19 , Processed in 0.017013 second(s), 17 queries , Gzip On.

回頂部