函数 cudaCreateChannelDesc 中的参数 x,y,z,w 是啥意思

Posted

技术标签:

【中文标题】函数 cudaCreateChannelDesc 中的参数 x,y,z,w 是啥意思【英文标题】:What's the meaning of the params x,y,z,w in function cudaCreateChannelDesc函数 cudaCreateChannelDesc 中的参数 x,y,z,w 是什么意思 【发布时间】:2017-12-16 07:09:48 【问题描述】:

cudaCreateChannelDesc(int x, int y, int z, int w, enum cudaChannelFormatKind f);

现在我有一个示例代码: cudaCreateChannelDesc(32, 0, 0, 0, cudaChannelFormatKindFloat);

我不知道为什么 x=32,y=z=w=0。有人可以帮我吗?

【问题讨论】:

欢迎来到 ***!请阅读how to ask。你从哪里得到你的例子,你想达到什么目标? 【参考方案1】:

该函数有一个单独的 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 被重载,看起来像这样... 如果你在 windows 上使用 Visual Studio 或 g++ 编译 .cu 文件,你应该使用这种形式。对于 c 文件,使用上面的。

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

【讨论】:

【参考方案2】:

返回格式为 f 的通道描述符和每个通道的位数 分量 x、y、z 和 w。

x,y,z,w 是 x,y,z 维度和“w”中的位数。在您的示例中,“x”数据为 32 位,未使用其他维度。

(“w”用于简化数学运算,以便将转换应用于 3d 数据)

【讨论】:

以上是关于函数 cudaCreateChannelDesc 中的参数 x,y,z,w 是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin函数 ⑧ ( 函数引用 作为函数参数 | ::函数名 | 函数类型 作为函数返回值类型 )

测开之函数进阶篇・第五篇《递归函数纯函数匿名函数偏函数》

8InfluxDB常用函数聚合函数,count()函数,DISTINCT()函数,MEAN()函数,MEDIAN()函数,SPREAD()函数,SUM()函数

Kotlin函数式编程 ② ( 过滤函数 | predicate 谓词函数 | filter 过滤函数 | 合并函数 | zip 函数 | folder 函数 | 函数式编程意义 )

Kotlin函数式编程 ② ( 过滤函数 | predicate 谓词函数 | filter 过滤函数 | 合并函数 | zip 函数 | folder 函数 | 函数式编程意义 )

1.19.9.函数概览函数引用精确函数引用模糊函数引用函数解析顺序精确函数引用模糊函数引用自定义函数准备工作概述开发指南函数类求值方法标量函数表值函数聚合函数