NVIDIA 推出了 CUDA Toolkit 3.2 正式版。重要的新功能包括新的 CUDA 程式庫(包括稀疏矩陣程式庫 CUSPARSE、亂數產生器 CURAND、以及 H.264 壓縮/解壓縮程式庫),新的硬體支援(如 6GB Tesla 以及 TCC 模式),並支援 Intel ICC 11.1 編譯器(64 bits Linux 版本)。其它功能包括在 kernel 中支援記憶體管理功能(malloc 及 free)以及 NVIDIA SMI 介面可用於存取各種 GPU 相關效能數據。
不幸的是,CUDA Toolkit 3.2 的 OpenCL 仍為 1.0 版。
2010年7月21日 星期三
NVIDIA 推出 Parallel Nsight 1.0
NVIDIA 推出 Parallel Nsight 1.0 GPU 發展工具。Parallel Nsight 可以和 Microsoft Visual Studio 配合,提供直接在 GPU 上進行 debug、觀察 GPU 記憶體內容、設定中斷點、以及檢測是否有不良記憶體存取動作等。Parallel Nsight 專業版則另外提供了進一步的分析工具,可以分析 CUDA 程式的事件(包括 API 呼叫、記憶體傳輸等),並透過 GPU 內建之效能計數器分析 CUDA 程式的效率。在繪圖方面,Parallel Nsight 1.0 也可針對 HLSL shader 進行 debug 與效率分析的動作。
Parallel Nsight 1.0 標準版為免費提供,而專業版則有限時免費試用版。
Parallel Nsight 1.0 標準版為免費提供,而專業版則有限時免費試用版。
2010年6月26日 星期六
NVIDIA 推出 CUDA 3.1 Toolkit
NVIDIA 推出了 CUDA 3.1 Toolkit。CUDA 3.1 主要的新功能包括:
- GPUDirect(tm) 技術,讓三方裝置可以直接存取 CUDA 記憶體
- 在 Fermi GPU 上支援最多同時執行 16 個不同 kernel 的功能
- 讓 CUDA Driver API、Runtime API、及數學程式庫可以共用資料
- 新的程式語言功能,包括:支援 printf()、函式指標、及遞迴
- 新的 Visual Profiler 同時支援 CUDA 及 OpenCL
- 數學程式庫的加強
- 更多的 SDK 程式範例
2010年3月20日 星期六
2010年2月19日 星期五
NVIDIA 發表新的 CUDA 3.0 Programming Guide
NVIDIA 發表了新的 CUDA 3.0 Programming Guide 以及針對 Fermi 的相關文件,包括:
- Fermi Compatibility Guide
- Fermi Tuning Guide
- CUDA Programming Guide for CUDA Toolkit 3.0
- CUDA Developer Guide for Optimus Platforms (link broken)
在 Fermi Tuning Guide 中有提到一些關於 Fermi 架構上的相關資訊。
2009年5月7日 星期四
2009年4月10日 星期五
2008年12月1日 星期一
2008年9月10日 星期三
Real World Tech 的 NVIDIA GT200 文章
Real World Technologies 的 David Kanter 寫了一篇從 GPGPU 角度介紹 NVIDIA GT200 的文章。裡面對 GT200 及 G80 的架構有相當詳盡的分析,相當值得參考。
NVIDIA's GT200: Inside a Parallel Processor
NVIDIA's GT200: Inside a Parallel Processor
2008年8月21日 星期四
2008年6月19日 星期四
NVIDIA 發表配合 GT200 顯示晶片的 CUDA 2.0 beta 版
NVIDIA 發表了配合新的 GT200 顯示晶片的 CUDA 2.0 beta 版,可以在這裡取得。
GT200 顯示晶片是屬於 CUDA compute 1.3(之前 G80 系列是 1.0,而 G84/86/92 則是 1.1)。目前不清楚哪些顯示晶片會是 1.2。根據最新的 programming guide,1.2 新增的功能包括:
Warp vote 則是用來減少同一個 warp 中,因為不同的分支而造成 serialization 的問題。這是因為在 CUDA 中,同一個 warp 的各個 thread 如果有不同的條件分支結果,就會需要 serialize,造成速度上變慢。利用 warp vote,就可以強迫一個 warp 只有一種條件分支結果,以避免 serialization 出現。
另一個值得注意的就是 GT200 的 double precision 運算。根據 Programming Guide 的資料,double precision 的四則運算和平方根,完全符合 IEEE 754 的規範(single precision 的除法和平方根無法符合 754 規範的精確度,因為它是用乘上倒數的方式做的)。這對一些科學計算的應用會比較方便。Double precision 的加法、乘法、和 FMA 也支援 IEEE 754 規定的各種不同的 rounding mode(single precision 只支援 round-to-zero 和 round-to-nearest)。
GT200 顯示晶片是屬於 CUDA compute 1.3(之前 G80 系列是 1.0,而 G84/86/92 則是 1.1)。目前不清楚哪些顯示晶片會是 1.2。根據最新的 programming guide,1.2 新增的功能包括:
- Shared memory 有 atomic 操作功能
- Global memory 的 atomic 操作,增加 64 bits 運算(1.1 只有 32 bits)
- 支援 warp vote
- 每個 MP 暫存器數目加倍至 16,384 個
- 每個 MP 同時可以進行的 warp 數目增加到 32 個(原為 24 個)
- 每個 MP 同時可以進行的 thread 數目增加到 1024 個(原為 768 個)
- 增加 double precision 的支援
Warp vote 則是用來減少同一個 warp 中,因為不同的分支而造成 serialization 的問題。這是因為在 CUDA 中,同一個 warp 的各個 thread 如果有不同的條件分支結果,就會需要 serialize,造成速度上變慢。利用 warp vote,就可以強迫一個 warp 只有一種條件分支結果,以避免 serialization 出現。
另一個值得注意的就是 GT200 的 double precision 運算。根據 Programming Guide 的資料,double precision 的四則運算和平方根,完全符合 IEEE 754 的規範(single precision 的除法和平方根無法符合 754 規範的精確度,因為它是用乘上倒數的方式做的)。這對一些科學計算的應用會比較方便。Double precision 的加法、乘法、和 FMA 也支援 IEEE 754 規定的各種不同的 rounding mode(single precision 只支援 round-to-zero 和 round-to-nearest)。
2008年4月17日 星期四
NVIDIA 發表 CUDA 2.0 beta 版
NVIDIA 發表了 CUDA 2.0 beta 版的 Toolkit 和 SDK。這一版主要新增的功能,是對 Windows Vista 的支援(包括 32 bits 和 64 bits 版本)。NVIDIA 目前沒有提到其它 2.0 版新增的功能包括哪些,但大致上看起來,2.0 版包括了新的文件檔(其中包括一個使用 chm 格式、較容易查詢的 CUDA Reference Manual),以及新的 sample。比較細節上的新功能,目前看起來包括 3D 貼圖的支援,以及 cudaGetDeviceProperties 增加了 multiprocessor 數目以及 device 是否支援重疊操作的欄位。
CUDA 2.0 beta 可以在這裡下載
CUDA 2.0 beta 可以在這裡下載
訂閱:
文章 (Atom)