PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   顯示卡討論區 (https://www.pcdvd.com.tw/forumdisplay.php?f=8)
-   -   nVidia宣布開源CUDA (https://www.pcdvd.com.tw/showthread.php?t=952491)

野口隆史 2011-12-14 03:04 PM

nVidia宣布開源CUDA
 
其實早就該開源了,現在才開源動作其實已經太慢了
很多軟體的開發都轉往OpenCL了

這次的開源,也允許非nVidia自家晶片執行CUDA程式

http://www.ubergizmo.com/2011/12/nv..._medium=twitter

titanic 2011-12-14 03:40 PM

應該是覺得時間到了(啥~
不過現在不少都轉用OpenCL倒是真的

iorittn 2011-12-14 07:07 PM

可是我覺得openCL的軟體還不常見
而CUDA還是多數

開源後是連ATI顯卡都有機會執行以前CUDA的程式嗎?

明彥 2011-12-14 07:24 PM

希望開源之後不是擺爛的開始

有的東西就開源後就放任其自生自滅

路過 2011-12-14 09:39 PM

引用:
作者明彥
希望開源之後不是擺爛的開始

有的東西就開源後就放任其自生自滅
像... 甲骨文?


我總覺得甲骨文跟微軟是半斤八兩 :jolin:

tseyik 2011-12-14 09:47 PM

引用:
作者iorittn
可是我覺得openCL的軟體還不常見
而CUDA還是多數

開源後是連ATI顯卡都有機會執行以前CUDA的程式嗎?

不可以
其實要限定某家産品才可用的技術
開不開源没大意義

jiahan 2011-12-15 01:00 AM

CUDA就算開源,也沒其他廠商要支援它吧,因為CUDA也不是標準,硬體廠商要幫他寫driver,除非是吃飽太閒..

而且CUDA在設計上是要用獨立的編譯器去產生kernel,而不是用API的方式去產生,雖然表面上便利於C的開發者,隱藏一些參數傳送的細節,但這樣是變成完全沒有彈性,其它非C語言要支援CUDA很麻煩

像OpenXX系列的API完全不會採取這樣的設計,連JavaScript都可以binding OpenCL,所以CUDA這樣的設計造成其它程式語言的開發者完全只能擁抱OpenCL

明彥 2011-12-15 01:20 AM

引用:
作者路過
像... 甲骨文?


我總覺得甲骨文跟微軟是半斤八兩 :jolin:



很多東西開源後 尤其是大公司丟出來的
感覺就是把玩爛的玩具還裝的很有愛心的樣子捐助給社福團體 :unbelief:
並且高喊大家要有良心有憐憫心一起攜手向前 心中有善念 處處是樂園之類的... :jolin:

引用:
作者jiahan
而且CUDA在設計上是要用獨立的編譯器去產生kernel,而不是用API的方式去產生,雖然表面上便利於C的開發者,隱藏一些參數傳送的細節,但這樣是變成完全沒有彈性,其它非C語言要支援CUDA很麻煩


意思是說結果編譯程式還是要等NVIDIA 像修正檔一樣
更新後才會有新功能或對新的GPU CUDA SP 支援之類的嗎??

octapult 2011-12-15 01:50 AM

引用:
作者明彥
很多東西開源後 尤其是大公司丟出來的
感覺就是把玩爛的玩具還裝的很有愛心的樣子捐助給社福團體 :unbelief:
並且高喊大家要有良心有憐憫心一起攜手向前 心中有善念 處處是樂園之類的... :jolin:

這些都是小事...

比較恐怖的是有些專利還是握在該公司手上
其他開發者不知道什麼時候會踩到地雷
沒獲利的話大家還相安無事
一旦獲利就得把皮給繃緊,因為隨時都有可能被咬一口
O 公司和 G 公司的互動就是一個很好的例子
引用:
意思是說結果編譯程式還是要等NVIDIA 像修正檔一樣
更新後才會有新功能或對新的GPU CUDA SP 支援之類的嗎??

Nvidia 放出來的是編譯程式的原始碼
詳情看底下網頁的附圖比較清楚:
http://developer.nvidia.com/content...-source-release
可以讓其他開發者開發出給其他平台 (GPU/CPU) 使用的 CUDA 編譯程式
或是可以支援 C 以外的程式語言

jiahan 2011-12-15 02:08 AM

引用:
作者明彥
很多東西開源後 尤其是大公司丟出來的
感覺就是把玩爛的玩具還裝的很有愛心的樣子捐助給社福團體 :unbelief:
並且高喊大家要有良心有憐憫心一起攜手向前 心中有善念 處處是樂園之類的... :jolin:



意思是說結果編譯程式還是要等NVIDIA 像修正檔一樣
更新後才會有新功能或對新的GPU CUDA SP 支援之類的嗎??


意思是指,在OpenCL要產生一個kernel,只要把source code當參數透過API來呼叫一個動作就完成了....所以對其它的語言來說他只是去呼叫相對應的C function,不用任何的effort....

而CUDA必須要額外呼叫像是nvcc的編譯程式,將CUDA的kernel來編譯出一個ptx檔,然後還要呼叫額外的driver API讓host端載入編譯出來的ptx檔....

當然當初設計這樣NVidia只是單純考慮,他們已經寫好了c的批次檔跟Visual Studio整合在一起了,上述動作可以在Visual Studio自動完成,但根本不考慮其他平台的便利性,要用就要自己去搞....

這裡有Java binding for CUDA的教學,過程很繁瑣 (http://www.jcuda.de/tutorial/Tutori...CreatingKernels),但同樣的動作在Java binding for OpenCL也只需要2,3行code而已...


所有的時間均為GMT +8。 現在的時間是09:52 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。