引用:
|
作者明彥
很多東西開源後 尤其是大公司丟出來的
感覺就是把玩爛的玩具還裝的很有愛心的樣子捐助給社福團體
並且高喊大家要有良心有憐憫心一起攜手向前 心中有善念 處處是樂園之類的...
意思是說結果編譯程式還是要等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而已...