2010-12-17 79 views
0

我目前正在通過Python綁定Clyther發現OpenCL。所以 遠我搞亂一個非常簡單的腳本來獲得65536的緩衝區的罪或cos。 顯然65536是我的卡上的緩衝區的限制,但說我有我的緩衝區中有1600萬數字我該怎麼去關於它不經常帶着CPU來檢索/發送數據?在Clyther/OpenCL中處理大於65536的緩衝區

我到目前爲止做的事情是填充緩衝區,運行內核,檢索緩衝區,但是也會導致CPU不好地擊中CPU。

我看了一下OpenCL文檔,但我只是不明白這是如何實現的。

謝謝

回答

2

這非常看起來就像你正在使用__constant內存。解決方案是使用__global內存,但您必須小心如何訪問它以獲得最佳性能。

__constant內存是經常使用的常量值的特殊地址空間,但在當前GPU上的大小受到限制。