nVIDIA 發表 CUDA 5 預覽版、Eclipse 版 Nsight、以及 Kepler 架構 Tesla!

| | 0 Comments| 09:43
Categories:

之前 nVIDIA 在推出新的 GPU 架構、也就是 Kepler(克卜勒、GeForce GTX 680/670)的時候,只有把 自家的 CUDA 做小改版、而沒有大變化,這點其實讓 Heresy 滿訝異的。

不過現在,nVIDIA 在 GTC 2012 上,終於發表了新的 CUDA 5 Preview 了!他的官方介紹是《CUDA 5 Preview Release Now Available》這篇文章,目前也已經可以下載來使用了~

他的下載頁面是:http://developer.nvidia.com/rdp/cuda-50-preview-package
和以往版本最大的一個差異,就是這一版開始,nVIDIA 終於把 CUDA SDK 和 CUDA Toolkit 整合在一起,可以只安裝一個東西就好了~當然,目前要使用 CUDA 5.0 Preview 也還需要新的 Beta 版、302.59 的顯示卡驅動程式了~

基本上,他的更新重點如下:

New Nsight, Eclipse Edition helps you explore the power of GPU computing with the productivity of Eclipse on Linux and MacOS

  • Develop, debug, and profile your GPU application all within a familiar Eclipse-based IDE
  • Integrated expert analysis system provides automated performance analysis and step-by-step guidance to fix performance bottlenecks in the code
  • Easily port CPU loops to CUDA kernels with automatic code refactoring
  • Semantic highlighting of CUDA code makes it easy to differentiate GPU Code from CPU code
  • Integrated CUDA code samples makes it quick and easy to get started
  • Generate code faster with CUDA aware auto code completion and inline help

GPU callable libraries now possible with GPU Library Object Linking

  • Compile independent sources to GPU object files and link together into a larger application
  • Design plug-in APIs that allow developers to extend the functionality of your kernels
  • Efficient and familiar process for developing large GPU applications
  • Enables 3rd party ecosystem for GPU callable libraries

GPUDirect RDMA provides fastest possible communication between GPUs and other PCI-E devices

  • Direct memory access (DMA) supported between NIC and GPU without the need for CPU-side data buffering
  • Significantly improved MPISendRecv efficiency between GPU and other nodes in a network
  • Eliminates CPU bandwidth and latency bottlenecks
  • Works with variety of 3rd party network and storage devices

Dynamic Parallelism enables programmers to easily accelerate parallel nested loops on the new Kepler GK110 GPUs

  • Developers can easily spawn new parallel work from within GPU code
  • Minimizes the back and forth between the CPU and GPU
  • Enables GPU acceleration for a broader set of popular algorithms, including adaptive mesh refinement used in aerospace and automotive computational fluid dynamics (CFD) simulations
  • Supported natively on Kepler II architecture GPUs, preview programming guide and whitepaper available today

更完整的新功能列表,請參考 release note


其中,第一項的部分,是 Mac OS 和 Linux 上的 Nisight,這點對於非 Windows 平台的 CUDA 開發者來說,應該是一件相當值得高興的事。(官方網站

「Parallel Nsight」是 nVIDIA 針對 GPU 程式開發者所推出的一個偵錯、最佳化的工具;他最早是針對微軟的 Visual Studio 做整合,讓 Windows 上的開發者,可以在單一環境內來進行 GPU 相關程式的開發、除錯(最初的介紹)。而隨著 nVIDIA CUDA 的版本演進,Nsight 也有一直在進行改版;今年初也已經隨著 CUDA 4.1 的推出、而發布了 2.1 版(參考)。

而現在,nVIDIA 終於不再只支援 MSVC 了!他現在不但把本來針對 Visual Studio 開發的「Parallel Nsight」改名為「Nsight Visual Studio Edition」,而且也推出 Eclipse 用的「Nsight Eclipse Edition」,讓 Linux 和 Mac OS 上的開發者,也可以使用 Nsight 來做 GPU 程式的開發以及偵錯了~

而除了新的 Nsight Eclipse Edition,目前 Nsight Visual Studio Edition(官網)也推出到了 2.2 的正式版,除了支援 CUDA 4.2、以及 Kepler 架構的 GPU 外,也還加入了一些新功能(參考),像是可以在單 GPU 的系統上、針對 CUDA 做 debug 就是一個相當好的改進~而同時,好像還有支援微軟的 C AMP參考)!?不過很可惜的,對於 graphics 的部分,主要還是以 Direct3D 為主,對於 OpenGL 的支援看來一樣不是很好(功能列表)。


第四項的部分,主要是針對一直還沒出現,理論上真正的高階 Kepler、GK110 了!目前採用 Kepler 架構的 GPU,都是使用 GK104 的晶片,在 nVIDIA 以往的命名規則裡,他應該不是高階/完整版的 GPU;所以在發表後,其實就一直有理論上的高階晶片、也就是 GK110 的謠言~

而現在,nVIDIA 算是正式發布 GK110 了!目前 nVIDIA 應該是計畫以 GPGPU 專用卡、也就是 Tesla(官網)的形式來推出採用 GK110 的產品;目前看到的資料,第一顆採用 GK110 的 Tesla,會是在今年第四季推出的「Tesla K20」;目前已經發表的新一代 Tesla K10 則還是採用類似 GeForce GTX 690、使用兩顆 GK104 的方案。

關於 Kepler 架構的 Tesla 的資料,可以參考官方的 PDF 文件。其中,採用兩顆 GK104 的 Tesla K10 雖然在單精度浮點樹上的計算效能上能達到上一代產品(Tesla M2090)的 3-4 倍,但是由於內部對雙精度浮點數計算單元的閹割,所以在這部分的效能甚至不到前一代產品的 1/3…所以,其實 Tesla K10 應該不適合要做精確計算的使用者。

而雖然採用 GK110 的 K20 在規格裡面還有很多都是「To be announced」,但是在文件中來是有提到,他的理論雙精度浮點數計算能力,會是 M2090 的三倍!也就是將近 2 teraflops 了~這算是一個相當大的進步呢!


nVIDIA 在 CUDA 4.1 的時候,把編譯器的核心改成以 LLVM 為基礎的架構(參考);而現在,nVIDIA 似乎是把這個版本的 CUDA 編譯器貢獻出來給開放原始碼的社群了~原始新聞是《NVIDIA Contributes CUDA Compiler to Open Source Community》。

另外,隨著 CUDA 5 Preview 的發布,nVIDIA 也放出了「CUDA Compiler SDK Preview」(名稱應該是「libNVVM」,網頁),讓有興趣的開發者可以來使用。

看來以後能使用 CUDA 的方案,應該會越來越多吧!不過,不知道有沒有哪天,gcc 或 MSVC 會不會直接整合呢? :p

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *