一次編寫的程式可在多家廠商的處理器上運行
OpenCL是一種主要面向異構處理器系統的API。在由CPU、GPU及DSP等加速器(Khronos將其稱為“OpenCL元件”)構成的系統中,軟體開發人員可在OpenCL元件上執行任意程式(Khronos將其稱為“Kernel”)。
今後,半導體廠商將推出支援OpenCL的API的元件驅動器以及支援OpenCL制定的Kernel描述方法的編譯器,用於該公司的OpenCL元 件。如果具備這種環境,軟體開發人員一旦按照OpenCL標準編寫程式,便可利用A公司的GPU、B公司的DSP或C公司的新結構並列處理用處理器運行該 程式。由於無需處理器架構及廠商專用程式,因此提高了處理器的選擇自由度。
紛紛計劃發行OpenCL支援版
在此次Khronos公佈OpenCL標準的同時,美國AMD表示,計劃09年上半年使該公司的“GPGPU”用軟體開發環境“Stream SDK”支援OpenCL 1.0。該公司曾宣佈支援OpenCL,不過此次公佈了支援該標準的時間。Stream SDK採用C言遮擴展而成的“Brook+”作為編程語言,今後還將繼續採用Brook+。Brook定位於高抽象度的編程環境,該公司考慮使其與低抽象 度的API──OpenCL分開使用。
此外,提供異構計算環境用軟體開發工具“Sieve C++ Parallel Programming System”的英國Codeplay Software表示將於09年支援OpenCL 1.0。
美國NVIDIA也表示,將使GPGPU用軟體開發執行環境“CUDA”支援OpenCL(英文發佈資料)。 在08年12月10日舉行的電話研討會上,NVIDIA表示,“蘋果公司向Khronos Group提交的OpenCL初期版本採用了我們的GPU運行”,並呼籲積極支援OpenCL。NVIDIA計劃09年第一季度開始提供支援OpenCL 的測試版,09年第二季度開始提供正式版(圖)。CUDA採用的C語言擴展而成的編程語言將“主要面向要求高抽象度語言的開發人員”(NVIDIA),今 後還將繼續提供。
OpenCL(Open Computing Language,開放運算語言)是一個開放而免授權金的跨平台程式語言標準,專為當今個人電腦、伺服器,及手持和嵌入式裝置的平行程式處理所設計。半年前蘋果(Apple)提出了OpenCL的草案規格,並由Khronos Group完成開發,通過了該規格,可望首先用於即將推出的Snow Leopard作業系統內。Khronos Group成員包括了蘋果、3DLABS、AMD、ARM、Intel、IBM、NVIDIA等重量級的科技業者。
OpenCL程式語言的設計,也是為了要讓軟體開發人員能夠充份組合利用各種不同的多核心處理器、繪圖處理器(GPU)、Cell架構,及其他平行處理器(如DSP)的效能。長久以來,業界就一直試圖要把強大的繪圖處理器運算能力運用在一般運算上,這個概念也就是所謂的GPGPU(general -purpose computation on GPUs,通用的GPU運算)。而OpenCL可望實現這樣的目標,讓繪圖處理器在電腦中不僅只用於繪圖等相關應用上,而能執行各種不同的應用程式。
沒有留言:
張貼留言