OpenCL OpenCL程式設計 對映記憶體物件

2021-08-22 02:54:11 字數 1783 閱讀 8297

用opencl來對映記憶體資料通常分為三步:

1. 呼叫函式clenqueuemapbuffer或clenqueuemapimage,將記憶體對映命令入列。

2. 使用memcpy等函式對主機記憶體的資料進行傳輸。

3. 呼叫clenqueueunmapobject函式解對映記憶體。

下面是對映和解對映函式的原型:

opencl不僅可以在主機記憶體和裝置記憶體之間傳輸資料,還可以在同一裝置或不同裝置間對兩個記憶體物件進行資料傳輸。

以下是各個函式的原型:

下面的**完成的是建立兩個快取物件,將物件1的內容複製到物件2中。然後將物件2的內容對映到主機記憶體,最後將對映的記憶體複製到陣列中。可以用下圖來表示。

//初始化裝置,建立context,queue等

OpenCL OpenCL程式設計 獲取快取物件資訊

函式clgetmemobjectinfo能返回關於影象物件和快取物件這兩種記憶體物件的資訊。其函式原型如下 clgetmemobjectinfo cl mem object,cl mem info param name,size t param value size,void param value...

OpenCL OpenCL裝置資訊

每個平台可能關聯不同的裝置,在把核心程式傳送到opencl裝置上執行前,程式設計人員需要指定執行該核心 的計算裝置。opencl中裝置物件的型別為cl device id,我們可以通過以下函式來查詢支援opencl裝置列表。cl int clgetdeviceids cl platform id p...

Entity Framework 簡單屬性對映

本節我們只介紹在ef中比較常見的對映 零 表名對映 預設情況下可以不配置表名,我們的模型名稱將會作為資料庫的表名。但是大部分專案會要求資料庫表名稱的規範,例如我們要將模型user在資料庫中對映為users,那麼我們可以這麼做,在派生類上下文中的onmodelcreating中進行如下定義 model...