nVidia 的下一代 CUDA GPU 架構:Fermi


Fermi_05 前天才提到 nVidia 發布了 OpenCL 的開發套件,今天又看到 nVidia 終於正式發布了他們的下一代的繪圖晶片:Fermi 的細部資料!這也就是一直在傳聞階段的 GT300,不過以現在的資料來看,搞不好有可能是叫 GF100?

總之,它的官方網站就是《Next Generation CUDA GPU Architecture》。不過,目前看來,nVidia 應該是越來越往高速計算的這塊來走了!甚至連目前第一張 Fermi 的顯示卡,都是計算用的 Tesla,而非繪圖用的 GeForce 或 Quadro。(圖片來源:PC Watch

Fermi_02而實際上,由於 nVidia 是在他的 GPU Technology Conference 上發表的,所以其發表的內容,主要都是 CUDA 高速計算的東西;像他在白皮書(PDF 文件)中,也都是在講下一代的 CUDA 的架構的改進。

而新一代設計主要的重點,則包含了 Double Precision 效能的加強、ECC 的支援、True Cache Hierarchy、更大的 Shared Memory、更快的 Context 交換、更快的 Atomic Operations。所以新架構的主要的改變,主要包含了:

  • 第三代的 Streaming Multiprocessor
    • 單一 SM 包含了 32 的「CUDA core」,是上一代 GT200 的四倍
    • 雙精度浮點數的計算速度是 GT200 的八倍
    • Dual Warp Scheduler simultaneously schedules and dispatches instructions
      from two independent warps
    • 64KB of RAM with a configurable partitioning of shared memory and L1 cache
  • 第二代的 Parallel Thread Execution
    • Unified Address Space with Full C++ Support
    • Optimized for OpenCL and DirectCompute
    • Full IEEE 754-2008 32-bit and 64-bit precision
    • Full 32-bit integer path with 64-bit extensions
    • Memory access instructions to support transition to 64-bit addressing
    • Improved Performance through Predication
  • 記憶體子系統的改善
    • NVIDIA Parallel DataCacheTM hierarchy with Configurable L1 and Unified L2
      Caches
    • 第一個支援 ECC 記憶體的 GPU
    • Greatly improved atomic memory operation performance
  • NVIDIA GigaThreadTM Engine
    • 10x faster application context switching
    • Concurrent kernel execution
    • Out of Order thread block execution
    • Dual overlapped memory transfer engines

而和之前兩代 CUDA GPU 的比較呢?可以參考下表:

Fermi Table

而在《NVIDIA Fermi: Architecture discussion and pre-launch GF100 speculation》和《nVidia GT300’s Fermi architecture unveiled: 512 cores, up to 6GB GDDR5》裡,則還有一些其它的規格,有興趣的可以參考看看。

在效能上呢,讓人訝異地,nVidia 目前沒有提供任何在繪圖方面的效能測試數據!只有提供了以 CUDA 進行計算的速度比較;包括了雙精度矩陣相乘和雙精度的 Tri-Diagonal Solver 效能是 GT200 的四倍、使用 Shared Memory 的 Radix Sort 的效能是 GT200 4.7 倍、在 PhysX 的 Fluid Collision for Convex Shapes 則是 GT200 的 2.7 倍。

大概就先講到這了…Heresy 還沒時間認真看這些資料,而且短時間可能也不會有時間了…所以,接下來算是一些還沒有認真看的想法:

  1. Fermi 基本上應該就是之前預計會在 09 年 Q4 發表的 CUDA 3.0 了!而 PTX ISA 基本上應該會跳到 2.0,而這麼大的改變,Compute Capability 應該也會跳到 2.0 吧?
  2. 感覺 CUDA 架構的版本越來越亂了…本來在一開始都還好,但是現在已經會有四個版號了!驅動程式一個、CUDA SDK 一個、PTX ISA 版本一個、Compute Capability 再一個~對於一般人來說,或許滿容易搞混的?
  3. 感覺上,現在與其說是可以做高速計算的繪圖卡,或許 nVidia 是想把他定義成可以繪圖的計算卡了…這樣到底好不好?實在很難講…
  4. 說實話,到現在為止都還沒有公布繪圖方面的效能,真的讓 Heresy 滿擔心的…不知道到時候繪圖效能能不能超過現在的 ATI 5870?
  5. 雖然實際晶片的照片看來比預期的小,但是相信以這個規格來看,成本應該不低?不知道到時候,會怎麼給這顆晶片標價?不要忘了,GT200 的晶片,到現在都還沒有中低階版…現在 nVidia 的中低階市場,都還是靠萬年 G92 啊!總覺得,Fermi 很有可能會步上這個後塵?

另外,Heresy 目前其實對他順帶發表的 Visual Studio 外掛:nVidia Nexus 也很有興趣!基本上,這一個讓 VS 2008(不知道 2005 能不能用?)可以用來針對 GPU 程式(應該只有 nVidia 的 GPU 吧)來做 debug、profile 的外掛~可以支援 CUDA C、OpenCL、DirectCompute、Direct3D 和 OpenGL。感覺上,應該對寫 GPU 程式的人來說,會是個利器吧!

參考資料:


對「nVidia 的下一代 CUDA GPU 架構:Fermi」的想法

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料