CUDA 2.1 Beta 推出!


在之前八月時,nVidia 終於釋出了 CUDA 的 2.0 版(實際上,官方似乎是說是在 2008 年六月推出的);當時一開始,似乎並沒有在任何地方正式的公告(連官方論壇的公告、新聞區都沒有…),而是在放出一段時間後,才有在各媒體上,發現了正式版發部的消息。

而過了三個月左右,昨天,在論壇的開發區,則是公佈了 CUDA 2.1 Beta 版的消息了!該篇文章是《CUDA 2.1 beta》,內容相當的簡單,只有提供檔案的下載連結:

Driver Toolkit
Windows 32bit XP 180.60_CUDA_XP_beta CudaSetup-win32-rel-nightly
2.1.1635-3046817
Vista 180.60_CUDA_Vista_beta
64bit XP 180.60_CUDA_XP64_beta CudaSetup-win64-rel-nightly
2.1.1635-3046817.exe
Vista 180.60_CUDA_Vista64_beta
Profiler
CudaVisualProfiler_windows_1.1Beta_13Nov08.zip
CudaVisualProfiler_windows_release_notes_1.1Beta_13Nov08.txt
Linux 32bit Fedora8 NVIDIA-Linux-x86
-180.06-pkg1
cuda-linux-rel-nightly-2.1.1635-3065709.run
Fedora9 cuda-linux-rel-nightly-2.1.1635-3065709.run
RHEL4.7 cuda-linux-rel-nightly-2.1.1635-3065709.run
RHEL5.2 cuda-linux-rel-nightly-2.1.1635-3065709.run
SLED10-SP2 cuda-linux-rel-nightly-2.1.1635-3065709.run
SUSE10.3 cuda-linux-rel-nightly-2.1.1635-3065709.run
SUSE11.0 cuda-linux-rel-nightly-2.1.1635-3065709.run
Ubuntu7.10 cuda-linux-rel-nightly-2.1.1635-3065709.run
Ubuntu8.04 cuda-linux-rel-nightly-2.1.1635-3065709.run
Debugger (32-bit Linux only)
CUDA_GDB_User_Manual.pdf
driver: cudagdb-linux-rel-nightly-2.1.1635-3065705.run
64bit Fedora8 NVIDIA-Linux-x86_64
-180.06-pkg2
cuda-linux64-rel-nightly-2.1.1635-3065709.run
Fedora9 cuda-linux64-rel-nightly-2.1.1635-3065709.run
RHEL4.7 cuda-linux64-rel-nightly-2.1.1635-3065709.run
RHEL5.2 cuda-linux64-rel-nightly-2.1.1635-3065709.run
SLED10-SP2 cuda-linux64-rel-nightly-2.1.1635-3065709.run
SUSE10.3 cuda-linux64-rel-nightly-2.1.1635-3065709.run
SUSE11.0 cuda-linux64-rel-nightly-2.1.1635-3065709.run
Ubuntu7.10 cuda-linux64-rel-nightly-2.1.1635-3065709.run
Ubuntu8.04 cuda-linux64-rel-nightly-2.1.1635-3065709.ru
Profiler
CudaVisualProfiler_linux_1.1Beta_13Nov08.tar.gz
Profiler_linux_release_notes_1.1Beta_13Nov08.txt
MAC Profiler
CudaVisualProfiler_mac_1.1Beta_14Nov08.zip
CudaVisualProfiler_mac_release_notes_1.1Beta_14Nov08.txt

這些檔案現在在官方的英文下載頁面,也都可以找到了~主要呢,就是提供了 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 裡面提供的資料,算是分為三大類:

  1. 硬體支援
    • Windows Vista 支援 Tesla 了。
      • 本來 CUDA 在 Vista 下並不能使用「沒有螢幕輸出」的 device,這也導致了沒有輸出界面的 Tesla 在 Vista 下完全無法使用。而現在終於支援了,應該也代表 nVidia 解決了在 Vista 下,要使用 CUDA 必須要有螢幕的問題吧?
  2. API 的功能
    • PTX JIT API
    • New Direct3D 9 interoperability API
    • Direct3D 10 interoperability API
  3. 編譯器支援
    • 加入了對 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》一文。


nVidia CUDA 學習紀錄

對「CUDA 2.1 Beta 推出!」的想法

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.