我對OpenCL相當陌生,請耐心等待。OpenCL紋理內存
在我的代碼的第一次迭代中,我使用了大型數據集的基本內存緩衝區並將它們聲明爲全局的。但是現在我正在尋找改進時機,我想爲此使用紋理內存。在CUDA版本中,我們使用cudaBindTexture和tex1Dfetch來獲取大型1D浮點數組的數據。根據我對規範的理解,紋理內存與圖像內存是一樣的。但是,由於只有最大高度和寬度的2D和3D圖像對象,所以我遇到了一些問題。我的數組大於最大高度/寬度,但不是最大高度*最大寬度。我必須將我的一維數組轉換爲2D嗎?還是有更好的方法來做到這一點?
還是我完全沒有?
我的確讀過http://forums.nvidia.com/index.php?showtopic=151743和http://forums.nvidia.com/index.php?showtopic=150454,但他們對於最佳實踐和編程指南中提到的紋理存儲器是否實際上是圖像對象並不完全確定。
感謝和任何幫助/建議,非常歡迎!
是的,這解釋得很好。 – goger 2009-12-31 18:10:35