在OpenCL中,您需要在執行圖像讀取時定義採樣器(read_image *),並在該採樣器中指定地址如何鉗位(例如,您可以執行CLK_ADDRESS_CLAMP_TO_EDGE)。但是沒有用於圖像寫入的採樣器(write_image *)。所以沒有指定夾緊。 什麼是應該發生的像素地址,然後退出圖像邊界?這只是沒有指定,並留給供應商? 從網絡上看,似乎大多數具有write_images的OpenCL代碼都不使用任何鉗位,或者人們使用自己的鉗位功能。我不明白爲什麼鉗位未指定用於寫入,但指定爲讀取。我在這裏錯過了什麼嗎?我已經搜索了一遍,並且雙重閱讀了規範,沒有任何內容解釋寫入操作是如何被鉗制的。OpenCL中的write_image請求如何被鉗制?
1
A
回答
3
從OpenCL的1.2規範,6.12.14.4:
write_imagef,write_imagei和write_imageui用於與 未指定上述說明或與image_channel_data_type值創建圖像 對象的行爲(X,Y)不在 範圍內的座標值(0 ...圖像寬度-1,0 ...圖像高度-1), 未定義。
沒有寫入限制,它留給用戶內核代碼以確保座標有效。
3
在某些設備(例如,較舊的NVIDIA硬件)上,不僅沒有圖像寫入鉗制,寫入外部圖像邊界將以常常難以調試的方式(因爲它是GPU崩潰)崩潰。避免這樣做。
相關問題
- 1. opencl-圖像對象鉗到邊
- 2. 請求被中止:請求被取消
- 3. 在OpenCL代碼中使用鉗位功能
- 4. Rails開發日誌記錄 - 鉗位請求值
- 5. 如何製作CORS請求
- 6. 如何製作JSON請求?
- 7. 」請求被中止:請求被取消。「同時處理PayPal IPN
- 8. HttpWebRequest:請求被中止:請求被取消
- 9. OpenCL中的矩陣求逆
- 10. 獲取被請求/被請求的頁面的名稱
- 11. 如何在PHP中製作https請求
- 12. 如何在Yii中製作ajax請求?
- 13. 製作axios請求被cors阻止
- 14. 請求不被彈簧控制器
- 15. 請求如何被dispacther servlet處理?
- 16. 如何限制(鉗制)Y軸旋轉transform.rotatearound統一
- 17. 如何強制ie11請求新的favicon?
- 18. 如何製作正確的wget請求?
- 19. HttpWebRequest的:請求已中止:請求已被取消
- 20. 被請求的頁兩次
- 21. 基於兩個值的鉗制動畫
- 22. 如何測試當前請求是否是控制器中的ajax請求?
- 23. 如何在請求python庫中限制HTTP請求的下載速度?
- 24. IControllerFactory.CreateController被每個請求中的每個控制器調用
- 25. 如何發送在AngularJS中未被加載的HTTP請求?
- 26. 如何在Ember中的destroyRecord被調用時處理請求?
- 27. 如何在java中消除改造的被動請求?
- 28. System.Net.WebException:請求已中止:請求已被取消
- 29. Angular js - 跨域請求在GET請求中被阻止
- 30. TFS簽入請求已中止:請求已被取消
該死的。我沒有看到。謝謝! –
在我使用NVIDIA和AMD設備的經驗中,在圖像之外寫作什麼都不做。所以你在寫之前不必檢查出界限。我認爲紋理單元只是以某種方式丟棄寫入操作。 –
@Erik它會導致nVidia硬件崩潰,例如使用nVidia SDK 5.0的gtx 480 – omarzouk