WSL2 未來的 GPU 支援

之前在《Windows Subsystem for Linux 2 + Docker》一文,大概介紹了微軟在 Windows 10 2004 推出的 WSL2 的功能,算是介紹了 WSL 已經可以用的功能(不過要切到 Windows Insider)。

而這篇,則是來簡單紀錄一下 WSL2 還在開發,以後才能用的功能了~

在 Heresy 來看,WSL2 已經讓 Heresy 在跨平台作業時,省了很多功夫了。
不過,以現在來看,他還缺少了一個很重要的功能,那就是實際硬體的存取;尤其是 GPU 的部分,基本上現行的 WSL1、WSL2 都是無能為力的。

但是,現在深度學習的東西,基本上大多是在 Linux 上開發、運作,Windows 雖然不是說不能跑,但是大多相對麻煩。也因此,如果可以透過 WSL2 來跑相關的套件,其實是會很方便的!

閱讀更多»

在 Visual Studio 2017 使用 CUDA 9.2

雖然 Heresy 個人算是滿早期開始接觸 NVIDIA CUDA 的,但是其實已經沒有在碰 NVIDIA CUDA 程式好一段時間了…不過,由於在開發的專案裡面,還是有一些地方有用到別人寫的 CUDA 程式,所以在維護的時候,還是需要去考慮他。

而根據從以前到現在的經驗,NVIDIA 針對 Visual Studio 的支援,一向不是做得很快、很好;往往 Visual Studio 已經出了新版本了,CUDA 才終於支援上一個版本…

某方面來說,這應該也是由於 NVIDIA CUDA 的重點是高速計算、大部分這個領域的用戶,其實都是把程式放在 Linux 叢集上跑的關係吧?但是,這對於一般 Windows 的開發者來說,其實還滿麻煩的…

最近,Heresy 在把手邊的專案移植到 Visual Studio 2017 上,CUDA 又出現問題了… orz

閱讀更多»

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」、異質計算),但是實際上…就個人所知,成效似乎不算是很好。

閱讀更多»

支援 64bit ARM 架構:CUDA 6.5 推出

NVIDIA CUDA 又更新囉~這次的版本編號是 6.5,相較於去年年底的 6.0 版,這次的改版,最主要的變化、是加入了對於 64-bit ARM 的支援!之前在 CUDA 5.5 的時候,NVIDIA 是第一次支援 ARM 的架構,而當時都還是僅有 32 位元版;而現在則是正式支援 64-bit 的 ARM 系統了!某方面來看,或許算是 NVIDIA 在為自家的 Denver 版 Tegra K1 鋪路吧?

如果要下載的話,則可以到官方網頁:

https://developer.nvidia.com/cuda-toolkit

而除了支援 64bit ARM 以外,其他的新功能還包括了:

閱讀更多»

OpenCV GPU 簡單紀錄

OpenCV 實際上在 2011 年開始,就有一個「gpu」的模組,可以透過 NVIDIA CUDA 來使用顯示卡做 GPGPU 的計算了!目前官網上也有相關的文件了(連結)。

不過,現在 OpenCV 官網上,有提供已經建置好的 2.4.9 的程式可以下載,其中也包括了 Heresy 需要的 Windows 版;不過很遺憾的,官方所提供的預先建置好的版本,看來都沒有建置成支援 GPU 的版本…所以如果需要使用 OpenCV 的 GPU 功能的話,就需要自己下載原始碼來自己建置了。

而這篇,基本上就是 Heresy 自己試著用 Visual Studio 來建置 OpenCV 的 GPU 版本的紀錄。

閱讀更多»

提供統一記憶體架構:NVIDIA CUDA 6

話說,NVIDIA CUDA 這個 GPGPU 的程式開發架構從 2007 年推出 1.0 版發展至今,也已經好一段時間了;這段期間,NVIDIA 也不斷地推出新的 GPU 架構、以及對應的新版 CUDA SDK,在效能和功能上做強化,基本上應該也算是目前最成熟的 GPGPU 開發環境之一。

而日前,NVIDIA 也發表了還沒正式發布的最新版的 CUDA 6.0(現在還沒有可以下載的 SDK)的一個主要的功能,那就是「統一記憶體」(Unified Memory);原文可以參考官方的《Unified Memory in CUDA 6》一文。

閱讀更多»

支援 ARM 和 VIsualStudio 2012:CUDA 5.5 Production Release

這應該是幾天前的消息了,nVIDIA 的 CUDA 這個使用顯示卡來做平行計算的開發套件,又推出新的版本了~這次的版本是 5.5 正式的 Production Release 版(之前有推出過 Release Candidate,這次版本編號是 5.5.20),下載頁面是:

https://developer.nvidia.com/cuda-downloads

而他比較重要的更新,可以參考 CUDA Toolkit 的頁面,主要包括了:

閱讀更多»

nVIDIA 推出支援支援 OpenGL 偵錯的 Nsight Visual Studio Edition 3.0 RC1

nVIDIA 的 Nsight 這套軟體(官網),是 nVIDIA 針對自家顯示卡上面的程式開發進行偵錯、效能調教,所推出的工具,之前 Heresy 也有較紹過好幾次了(參考)。他主要是針對自家的 CUDA 來做程式開發的輔助的,另外也支援 OpenCL、Direct 3D 等 GPU 的程式開發方案。

不過對 Heresy 來說,很可惜的是,他對於專業繪圖的 OpenGL 支援的功能始終不多…所以 Heresy 始終沒有認真用他。

而現在,nVIDIA 終於開始開發 OpenGL 相關的偵錯功能了!在最新、還在封閉測試的「Nsight Visual Studio Edition 3.0 Release Candidate 1」(在註冊會員網站)中,除了對 GK110 架構的 GPU(Tesla K20)的 CUDA 5.0 新功能做支援外,也終於正式支援 OpenGL Frame debug 和 GLSL 的偵錯了!

閱讀更多»

nVIDIA CUDA 5 Production Release

nVIDIA 的 CUDA 5.0 版,在經過了 previewRelease Candidate 兩個版本後,現在終於正式發布 Production 的正式版本囉~他的官方介紹頁面是:http://developer.nvidia.com/cuda/cuda-toolkit,而要下載的話,則可以到 http://developer.nvidia.com/cuda/cuda-downloads 這裡下載。

基本上,5.0 的正式版和之前的 RC 版相比,版本編號是從 5.0.27 變成 5.0.35,所使用的顯示卡驅動程式則為 306.94(Windows 7、比官方目前最新版的 306.97 來的舊),不過在功能面應該是沒有什麼明顯的變化(release note 好像看不出來),所以在這邊就不額外介紹了;有興趣的話,就麻煩請回去看之前 previewRelease Candidate 時的介紹文了。

閱讀更多»

nVIDIA 推出公開版的 CUDA 5 Release Candidate

nVIDIA 在五月的時候,就推出新版的 CUDA 5 的預覽版(介紹)了,不過當時應該是要是有註冊的開發者才可以下載。而現在,nVIDIA 再進一步、針對所有使用者推出了 CUDA 5 Release Candidate、讓所有有需要的開發者都可以使用了!

CUDA 5 的主要變化,應該還是:RDMA for GPUDirect、GPU Library Object Linking、Dynamic Parallelism 這三項了~這部分和之前的 Preview 版基本上都是相同的。而版本編號是從 Preview 的 5.0.7 變成了 5.0.27,裡面還整合了新的專用版的顯示卡驅動程式(Windows 是 305.60),不用另外下載;不過從官方的 release note 裡(連結),似乎沒有看到和之前的 Preview 版差在哪裡。

閱讀更多»