可以開始用 Vulkan 寫 3D 程式了!Vulkan 1.0 正式推出

在去年 GDC2015 的時候,Khronos 就已經發表了將使用新的 3D 圖形 API「Vulkan 」來取代現有的 OpenGL 了~在當時也有提過了,OpenGL 和 Vulkan 上會是完全不相容的 API。(參考《Khronos GDC 2015 新消息:Vulkan 與 OpenCL 2.1》)

只是在發表了之後,其實這段期間都沒什麼大消息,而一般的開發者由於欠缺開發環境,也沒有辦法真的開始寫 Vulkan 的程式…

不過在前幾天,Khronos 終於正式釋出 Vulkan 1.0 的規格了~而同時,桌面電腦的三大圖形晶片廠 NVIDIA、AMD、Intel 也都推出了支援 Vulkan 的驅動程式了!再加上 LunarG 的 Vulkan SDK 也已經可以下載了,所以這也代表一般開發者已經可以開始試著玩 Vulkan 了~

下面就是一些主要的連結:

閱讀更多»

AMD 放大招了…推出 Boltzmann Initiative、支援 CUDA 程式的轉移!

NVIDIA 的 CUDA 架構,基本上應該算是現階段最成功的 GPGPU 環境之一。他在新一代、專門用來做大量平行計算的環境裡面,算是推出最早的,所以相對起來、發展的也算是最完整的;而後來雖然 Khronos 有推出跨硬體平台的開放標準 OpenCL(Intel、AMD、NVIDIA 都有支援),但是就 Heresy 所知,還是有許多開發人員是偏好 CUDA 的。

而 AMD 在 GPGPU 這一塊…個人是覺得發展的始終有點悲劇吧?Heresy 有紀錄的部分,他最早是推出自家的「Stream SDK」,而之後就徹底捨棄自己的語言、完全轉投向 OpenCL、Stream SDK 也改名為「AMD APP SDK」了。

儘管 AMD 也試著在靠 OpenCL、以及後來所推出、基於 AMD APU 的「Heterogeneous System Architecture」(異質系統架構、官網)來做平行計算的發展方向(AMD 稱之為「Heterogeneous Computing」、異質計算),但是實際上…就個人所知,成效似乎不算是很好。

閱讀更多»

OpenGL: Approaching Zero Driver Overhead

這篇的原出處是 NVIDIA 官方部落格的《NVIDIA, AMD, Intel Explain How OpenGL Can Unlock 15x Performance Gains》,內容基本上是今年 GDC(Game Developer Conference)時,由 AMD 的 Graham Sellers、Intel 的 Tim Foley 和 NVIDIA 的 Cass Everitt 與 John McDonald,一起說明要如何在撰寫 OpenGL 程式的時候,盡量減少驅動程式的 overhead、進而達到加速的效果。

內容,基本上就是類似之前也貼過的《如何加強 OpenGL 的繪圖效率》一文(由 nVIDIA 同樣兩位所提供)類似,都是希望可以讓 3D 顯示的程式能夠更好地發揮顯示卡的效能。

下面就是《OpenGL: Approaching Zero Driver Overhead》這份投影片,有興趣也可以到 slideshare 上觀看

閱讀更多»

如何加強 OpenGL 的繪圖效率

這篇文章是參考 Geeks3D 的《How to Increase the Number of Draw Calls in OpenGL》一文。

會有這篇文章,主要是因為 AMD 在日前推出了名為「AMD Mantle」(官網)的新的繪圖 API,他和一般普遍使用 Direct 3D、OpenGL 這類跨硬體的 API 不同的地方在於,AMD Mantle 是針對自家的 Radeon GPU 做設計的,所以在自家的顯示卡上,會有更好的效能(draw call 數目)!(參考《AMD Mantle: First Interesting Slides and Details, Target: 100K Draw Calls per Frame》)

而由於它號稱的效能增進相當地顯著,就有人提出來,其實透過 NVIDIA 的 OpenGL Extension,也可以到達類似的效能增進!NVIDIA 的這份投影片標題是《Beyond porting》,作者是 NVIDIA 的 John McDonald 和 Cass Everitt 在 slide share 上可以看到(連結),內容重點,就是「新的 OpenGL 如何減少驅動程式的 overhead」(How modern OpenGL can radically reduce driver overhead)下面就是投影片的內容:

閱讀更多»

Dolphin 眼中的各家顯示晶片廠商

Heresy 是在 Geeks 3D 看到《Dolphin Emulator: Graphics Drivers Hall of Shame》這篇文章的,而其引用的,則是任天堂遊戲機模擬器、Dolphin Emulator 的《Dolphin Emulator and OpenGL drivers – Hall of Fame/Shame》一文。

基本上,Dolphin Emulator 是一款模擬任天堂的 Wii 以及 GameCube 這兩款遊戲機的開放原始碼、跨平台的模擬器,他在維基百科上也有相關的條目(參考)。而《Dolphin Emulator and OpenGL drivers – Hall of Fame/Shame》這篇文章,則是其開發團隊,針對他們將 Dolphin 的 OpenGL 後臺重新改寫、使其支援 OpenGL ES 3.0 的經驗分享;他們基本上,是針對開發時面對到的問題,來針對各家顯示晶片廠商對於 OpenGL / OpenGL ES 3.0 的支援做評價,某種程度上,應該也代表了這些顯示晶片廠商對於開放社群的友善度了~

閱讀更多»

電腦+HDMI 3D TV 的使用

Heresy 在 2009 年的時候,有開始寫一系列的《立體顯示技術簡介》的文章;當時大概介紹了一般比較常見的立體顯示技術,而實際上到了現在,這些技術層面的東西,應該是都還沒有太大的變化。

不過雖然說技術原理層面沒有很大的改變,但是在產品面上,有一個很大的變化,就是 HDMI 1.4(HDMI 官網維基百科)的 3D 訊號傳遞的標準已經廣泛地被使用了~目前家用的 3D 立體裝置,不管是電視、還是藍光撥放器,都是透過 HDMI 1.4 的標準,來傳遞立體的畫面訊號了。而如果只是要看 3D BD 電影的話,也很簡單,只要有一台 3D 電視(當然,也要有眼鏡)、再加上一台支援 3D BD 的藍光播放機,就可以了~

那如果要用電腦來播放的話,要怎麼做呢?如果希望讓電腦可以透過 HDMI 1.4 的標準,把立體的畫面傳到 3D 電視的話,主要是要看使用的顯示晶片,是否有支援這樣的功能。

閱讀更多»

AMD 推出支援 Bolt C++ Template Library 的 APP SDK 2.8

這算是前一段時間的消息了。不過當時 Heresy 在忙別的事,沒有時間認真看,所以就還拖到現在才寫了。整體來說,就是 AMD 針對了自家的 GPGPU 開發軟體,做了一批的更新~不過,由於 AMD 自己正在搞 APU、希望可以同時使用 CPU 和 GPU 來做計算,所以這邊的字樣,似乎也都變成「Heterogeneous Computing」(HC)了。

首先,就是 AMD 最主要的 APP(Accelerated Parallel Processing) SDK 的版本更新到了 2.8,也加入了對 OpenCL 1.2 的正式支援(之前 2.6 算是 preview);他的方網站是:http://developer.amd.com/tools/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/,目前也已經可以下載了。

閱讀更多»

AMD 新的 GPU 程式開發輔助工具:CodeXL

去年已經有介紹過,AMD 有收購、推出一套 GPU 的偵錯程式、gDEBugger 了~這套軟體,主要是可以針對 OpenCL 和 OpenGL 的程式,來進行偵錯。

而現在,AMD 又推出了一套新的工具:AMD CodeXL,除了本來的 GPU 偵錯功能,更加入了針對 AMD CPU 和 GPU 的 Profiling 的功能,來輔助程式開發者進行偵錯、以及最佳化了!它的官方網站是:

http://developer.amd.com/tools/hc/CodeXL/Pages/default.aspx

閱讀更多»

nVIDIA CUDA 4.1 RC2 & AMD APP SDK 2.6 Preview

算是兩個 GPGPU 相關的新聞。

nVIDIA CUDA 4.1 RC2

第一個,是 nVIDIA 在 GTC Asia 上,推出了新版的 CUDA 4.1 的 RC2(release candidate)以及對應的偵錯工具 Parallel Nsight 2.1 RC2。

這一版 CUDA 最大的變化,就是 nVIDIA 把編譯器整個換掉、改成以 LLVM(Low Level Virtual Machine、維基百科)為基礎的新編譯器了!這個新的編譯器號稱可以提高應用程式 10% 的效能,同時也可以有效地縮短編譯所需的時間。

而且,nVIDIA 這次還透過「CUDA Platform Source Release」,分享這個新的編譯器的原始碼!如此一來,如果有心的話,還可以透過這個機制、讓 CUDA 編譯器支援新的語言,甚至新的處理器~不過,基本上這個分享機制,是要經過 nVIDIA 審核的,所以應該沒辦法看到 AMD 拿這個來做自己的 CUDA C 相容編譯器。 :p

當然,除了編譯器以外,CUDA 4.1 還是有不少其他的改進。其中比較重要的,應該就是在影像處理方面(NPP library)加入了一千個以上的新函式,可以直接使用。而 Visual Profiler 也做了重新的設計、會更方便使用。

閱讀更多»

AMD 發布 OpenCL / OpenGL 的除錯工具:gDEBugger

之前已經有大概介紹過 Graphic Remedy 的 gDEBugger 這套 OpenGL / OpenCL 的偵錯工具了(OpenGL 偵錯工具 gDEBugger 不用錢了!)。這套工具基本上算是一套在要除錯 OpenGL 的程式時,相當實用的工具!而後來她也延伸到了對 OpenCL 的程式可以進行偵錯。不過,Heresy 前一陣子才知道,原來 Graphic Remedy 已經被 AMD 收購了(新聞)。

而現在,AMD 則基於原來的 gDEBugger,發布了新的 gDEBugger 6.0 版,讓大家來免費使用了!他的網頁是:

http://developer.amd.com/tools/gDEBugger/

閱讀更多»