OpenCL是GPU通用運算API。是顯卡作通用浮點運算的API。比如視頻轉碼,原來這個工作都是CPU來做的。現在顯卡運算能力比較強,這個工作完全可以交給顯卡來做。
要調用顯卡,這個工作不需要再由程序員考慮了,因為已經有壹個現成的接口了,程序員只要管好轉碼的算法,然後直接調用OpenCL中現成的指令,這個工作就自動由CPU轉交到GPU了。
OpenCL是壹個為異構平臺編寫程序的框架,此異構平臺可由CPU,GPU或其他類型的處理器形成。OpenCL由壹門用於編寫kernels (在OpenCL設備上運行的函數)的語言(基於C99)和壹組用於定義並控制平臺的API組成。OpenCL提供了基於任務分割和數據分割的並行計算機制。
OpenCL類似於另外兩個開放的工業標準OpenGL和OpenAL,這兩個標準分別用於三維圖形和計算機音頻方面。OpenCL擴展了GPU用於圖形生成之外的能力。OpenCL由非盈利性技術組織Khronos Group掌管。
擴展資料
API之主要目的是提供應用程序與開發人員以訪問壹組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。提供API所定義的功能的軟件稱作此API的實現。API是壹種接口,故而是壹種抽象。
應用程序接口(英語:Application Programming?Interface,簡稱:API),又稱為應用編程接口,就是軟件系統不同組成部分銜接的約定。由於近年來軟件的規模日益龐大,常常需要把復雜的系統劃分成小的組成部分,編程接口的設計十分重要。程序設計的實踐中,編程接口的設計首先要使軟件系統的職責得到合理劃分。良好的接口設計可以降低系統各部分的相互依賴,提高組成單元的內聚性,降低組成單元間的耦合程度,從而提高系統的維護性和擴展性。[1]
參考資料來源?OpenCL_百度百科