之前 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 了~這算是一個相當大的進步呢!
而 CUDA Compute Capability 的部分,之前最新的一直是 Fermi 架構 GPU 的 2.0;而這次在 CUDA 5.0 裡,則是一次加入了對應 Kepler 的 3.x~包括了 3.0 和 3.5 兩種,3.0 應該是對應目前市面上的 GK104(官方列表),3.5 或許就是對應 GK110、也就是 Tesla K20 吧~至於不同版本間的差異,就請參考 Programming Guide 裡的《Appendix F. COMPUTE CAPABILITIES》一節吧。
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
[…] nVIDIA 在推出這一代的 Kepler(克普勒)架構的 GPU 後,一開始是一直都以功能經過精簡的 GK104 晶片為主,來推出一系列的顯示卡(GeForce 600 / 700 系列);一直是等到去年年終,nVIDIA 才第一次以 Tesla、專業計算卡(沒有顯示功能)的形式,發布了採用 GK110 晶片的 Tesla K20! […]
讚讚
[…] 發表迴響 nVIDIA 的 CUDA 5.0 版,在經過了 preview 和 Release Candidate 兩個版本後,現在終於正式發布 Production […]
讚讚
[…] 發表迴響 nVIDIA 在五月的時候,就推出新版的 CUDA 5 的預覽版(介紹)了,不過當時應該是要是有註冊的開發者才可以下載。而現在,nVIDIA […]
讚讚
[…] Tesla K10運算處理器亮相、nVIDIA 發表 CUDA 5 預覽版、Eclipse 版 Nsight、以及 Kepler 架構 Tesla。 分享:)更多 Pin ItPrintEmailLike this:喜歡Be the first to like […]
讚讚
Heresy想請問一下,目前只有Kepler才可使用CUDA 5.0(CC3.x)嗎??
讚讚
只要是有支援 CUDA 技術的 nVIDIA GPU 應該都可以,只是有的功能會不能用。
讚讚
想請問一下Heresy是在Linux上開發的嗎?
我想試用Nsight eclipse來做gpu debugger可是卻連SDK裡的Sample都build不起來。
用make是可以成功編譯,可是用Nsight eclipse就會找不到那些include file
以前一直用msvc開發最近才跳來linux,也找不到Nsight eclipse的include directory要再哪邊設
雖然Nsight的網頁說他有對SDK作深度整合,可是我卻連個專案檔都找不到orz
讚讚
抱歉,Heresy 自己也是在 Windows 上開發,沒有用過 Linux 版耶。
讚讚
謝謝,我在研究看看了orz
讚讚
回來回覆一下
在cuda forum有問到了…
這次的preview版果然是還沒跟sdk整合
然後加path的位置在
project properties->General->Paths and Symbols這頁
我一直在Build裡面找難怪找不到…
讚讚
感謝還特地回來分享經驗~ :)
讚讚
一些關於 nVIDIA GK110 / Tesla K20 的資料
http://www.anandtech.com/show/5840/gtc-2012-part-1-nvidia-announces-gk104-based-tesla-k10-gk110-based-tesla-k20/2
讚讚
NVIDIA Kepler GK110 Architecture Whitepaper: 2880 CUDA Cores and Compute Capability 3.5
http://www.geeks3d.com/20120517/nvidia-kepler-gk110-architecture-whitepaper-2880-cuda-cores-and-compute-capability-3-5/
白皮書: http://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf
讚讚
Dynamic Parallelism in CUDA 白皮書
http://t.co/b5dcy2Ou
讚讚
請問這個是已經實現了嗎?
有限定device或cuda version嗎?
我好像沒找到相關的說明
讚讚
沒弄錯的話,這是 GK110,也就是 Tesla K20 的特有功能。
讚讚