2011-08-31 32 views
0

我在想紋理內存是否可以用於32字節的struct?CUDA紋理內存可用於32字節元素嗎?

有些朋友告訴我,最大的元素是uint4,它是16個字節。

你能給我一些建議嗎?

+0

只是確保你想說的字節,而不是位:) – fabrizioM

+0

謝謝,fabrizioM :) – Yik

回答

3

見的CUDA C Programming Guide的部分3.2.10.1.1:

字段類型字段指定獲取紋理時返回的數據的類型; Type僅限於基本整數和單精度浮點類型以及B.3.1節中定義的1-,2-和4-分量矢量類型;

換句話說:沒有,則無法以來的最大限定的向量類型的使用它的32個字節是16個字節。還要注意,你不能使用任意的結構,紋理只能用於一組有限的類型。

+0

好的。謝謝,湯姆。 – Yik

0

CUDA C Programming guide的最新版本,3.2.11.1節說:

類型紋素,它被限制在基本的整數和單精度浮點類型和任何1的 - ,2和4分量矢量類型,定義在char,short,int,long,longlong,float,double中,這些類型是從基本整數和單精度浮點類型派生的。

,然後鏈接到部分B.3.1,它描述了明確的結構,如long4,這在我的平臺下(x86_64)爲4×8個字節,所以也許你可以用它畢竟,如果你願意執行不安全的轉換從你的結構到這些結構。但是,你爲什麼要這樣做呢?

更新:剛纔意識到這個問題已經超過兩歲了,對我感到羞恥。