error C4996: 'clCreateImage2D': 被聲明爲已否決

1、一個指標不治本的解決方法:

在代碼中添加一行:#pragmawarning( disable : 4996 )

錯誤消失,程序能夠運行,但後續步驟會出錯

2、程序出錯原因:

通過查詢本機OpenCL平臺可以看到,本機有兩個OpenCL平臺,一個爲1.2版本,另一個爲2.0版本的。而對於函數clCreateImage2D在1.1版本中可以正常使用,而在1.2版本中已經被集成爲clCreateImage函數,沒有2D和3D之分。注意到1.2版的OpenCL平臺是系統自帶的,而2.0版本的OpenCL是我當時安裝的AMD APP。


3、錯誤解決方法:

創建OpenCL圖像對象的幾個必要的步驟:

創建並填充圖像格式描述符à創建圖像描述符à使用memset函數將圖像描述符結構體清零à填充圖像描述符中的幾個必要項à創建圖像對象

(本次程序出錯在於沒有進行圖像描述符結構體清零)

具體代碼如下:



參考書目《OpenCL異構並行計算 原理、機制與優化實踐》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章