OpenCL環境配置[on Mac]一文中,提供程式碼讓讀者獲取OpenCL所支援的Platform與Device
對Linux Kernel熟悉的讀者,Platform包括了Driver與對Device支援的資訊,開發者可以藉由Platform中的Driver來對Device進行控制
現在就讓我們在Mac Pro上實際演練一次吧!!!
實際演練
初始狀態: 未偵測到任何Platforms及Devices
偵測platform
clGetPlatformIDs()偵測到Mac Pro上有Apple所開發的OpenCL platform,其可以用於連結支援OpenCL的Device,所謂的Device可以是CPU or GPU
偵測platform所對應的程式碼
偵測Devices
clGetDeviceIDs()偵測到platform#0所支援OpenCL的CPU or GPU
偵測Devices所對應的程式碼
假想狀況
Mac上只有一個Platform和一個Device,實在很難呈現出Platform與Device間的關係,因此用這個假想的狀況來說明可能遇到的情況,假設我購買了一台配置SnapDragon Elite CPU及Nvidia的顯卡那會是什麼情況
初始狀態: 未偵測到任何Platforms及Devices
偵測platform
clGetPlatformIDs()偵測到Qualcomm的SnapDragon Platform及Nvidia的Geforce Platform,他們分別可以支援Qualcomm的內部顯示卡及Nvidia的獨立顯卡
偵測Devices
clGetDeviceIDs()偵測到platform#0(Qualcomm), platform#1(Nvidia)所支援內部顯示卡及獨立顯示卡