2017-07-12 204 views
0

cudaCreateChannelDesc(int x,int y,int z,int w,enum cudaChannelFormatKind f);函數中參數x,y,z,w的含義是什麼cudaCreateChannelDesc

現在我有一個示例代碼: cudaCreateChannelDesc(32,0,0,0,cudaChannelFormatKindFloat);

我不知道爲什麼x = 32,y = z = w = 0。有人能幫幫我嗎?

+0

歡迎來到StackOverflow!請閱讀[如何提問](https://stackoverflow.com/help/how-to-ask)。你從哪裏得到你的榜樣,你想達到什麼目的? –

回答

1

返回格式爲f和每個 分量x,y,z和w的位數的通道描述符。

x,y,z,w是x,y,z維和'w'中的位數。在你的例子中,'x'數據是32位,其他維度不被使用。

(在「W」是用來製造用於施加變換到三維數據數學更容易)

+0

非常感謝你的先生!這是我的第一個stackoverflow問題,我得到兩個快速答覆!現在我開始愛上了stackoverflow! – biaodiluer

2

有一個單獨的C,以及該功能的C++ API(該C++ API過載)。

對於C API函數,這些是每個通道的位數。這些可以是顏色通道或空間維度,也可以是任何您想要使用它們的任何內容。您從中複製的示例僅使用標量值。 32位適用於浮點數據類型。

__host__ ​cudaChannelFormatDesc cudaCreateChannelDesc (int x, int y, int z, int w, cudaChannelFormatKind f) 

從CUDA文檔, 「返回與格式f和各組分的x,y,z和w的比特數的信道描述符」。

C++ API超載,看起來像這樣... 如果您正在使用visual studio或g ++編譯.cu文件,您應該使用此表單。對於c文件,請使用上述內容。

__inline__ __host__ cudaChannelFormatDesc cudaCreateChannelDesc<float>(void) 
__inline__ __host__ cudaChannelFormatDesc cudaCreateChannelDesc<float2>(void) 
__inline__ __host__ cudaChannelFormatDesc cudaCreateChannelDesc<float4>(void) 
etc. 
+0

非常感謝你的先生!這是我的第一個stackoverflow問題,我得到兩個快速答覆!現在我開始愛上了stackoverflow! – biaodiluer

相關問題