在之前八月時,nVidia 終於釋出了 CUDA 的 2.0 版(實際上,官方似乎是說是在 2008 年六月推出的);當時一開始,似乎並沒有在任何地方正式的公告(連官方論壇的公告、新聞區都沒有…),而是在放出一段時間後,才有在各媒體上,發現了正式版發部的消息。
而過了三個月左右,昨天,在論壇的開發區,則是公佈了 CUDA 2.1 Beta 版的消息了!該篇文章是《CUDA 2.1 beta》,內容相當的簡單,只有提供檔案的下載連結:
這些檔案現在在官方的英文下載頁面,也都可以找到了∼主要呢,就是提供了 Windows、Linux、MAC 三個平台的 Visual Profiler,以及專為 CUDA 2.1 Beta 提供的驅動程式(Windows 是 180.60,不知道更新的 180.70 能不能用?),以及新版的 toolkit;比較詭異的是,這次沒有提供新版的 SDK 可供下載?或許,這次沒有更新到 SDK,使用 2.0 的就夠了吧?
另外,最重要的一點,可能就是 nVidia 提供了基於 GNU Project Debugger 修改而來的 32 位元 Linux debugger 了!這個 debugger 是提供了「Realtime debugging of a CUDA application on GPU hardware」,可以不需要編譯成模擬模式,就可以在 device 上做除錯了!這點對於在 Linux 開發 CUDA 程式的人,應該相當有用吧!不過,Heresy 和 Linux 不熟就是了…不知道什麼時候,在 Windows 上也會有這樣的功能呢?
而 2.1 的 toolkit 更新了什麼呢?release note 裡面提供的資料,算是分為三大類:
- 硬體支援
- Windows Vista 支援 Tesla 了。
- 本來 CUDA 在 Vista 下並不能使用「沒有螢幕輸出」的 device,這也導致了沒有輸出界面的 Tesla 在 Vista 下完全無法使用。而現在終於支援了,應該也代表 nVidia 解決了在 Vista 下,要使用 CUDA 必須要有螢幕的問題吧?
- Windows Vista 支援 Tesla 了。
- API 的功能
- PTX JIT API
- New Direct3D 9 interoperability API
- Direct3D 10 interoperability API
- 編譯器支援
- 加入了對 Visual C 9 (Visual Studio 2008) 的支援,取消了對 Visual C 7 (Visual Studio 2003) 的支援
而從 Programming Guide 的版本記錄裡,也可以從文件的更新,來看看新功能:
– Section 4.2.3
– Dg.z must be equal to 1
– Sections 4.2.5, 4.5.3.4
– PTX code can now be compiled through the driver API
– Sections 4.5.1.4, 4.5.2.8, 4.5.3.11
– Updated with Direc3D 10 interoperability
– Section 4.5.2.2
– Any subsequent explicit call to cudaSetDevice() will now fail
– Section 4.5.2.7
– cudaGLSetGLDevice() must be called for proper OpenGL interoperability
– Section 4.5.3.10
– Context must be created with cuGLCtxCreate() for OpenGL interoperability
– Section 4.6
– Mode switches cause runtime calls to fail
– Section A.1
– Updated with latest GPUs
整個下來,比較重要的更新大概就是兩點了∼其一是加入了對 Direct3D 10 的支援(該死的 Vista only…),其二就是透過 driver API 來使用 PTX 程式碼了!理論上,能直接寫 PTX code 是可以在讓開發者在最佳化等方面,能夠更自由的修改,但是基本上應該還是會屬於進接使用者的範疇就是了。
在 OpenHero 的部落格裡,還有一些更詳細的資料,有興趣的人,可以參考他的《Nvidia 推出 CUDA 2.1 beta》一文。
原文發表:CUDA 2.1 Beta 推出!
這裡有關 CUDA 的文章對我來說實在太有幫助了謝謝你們 請繼續加油!!