大家好!我有个问题想请教一下。我在CPU中定义了一个结构体:
Typedef struct NPixel
{
int code;
int xwideth;
int yheight;
int flag;
}
在GPU中如果要用到这种数据结构的话,我应该怎么设计呢?谢谢
大家好!我有个问题想请教一下。我在CPU中定义了一个结构体:
Typedef struct NPixel
{
int code;
int xwideth;
int yheight;
int flag;
}
在GPU中如果要用到这种数据结构的话,我应该怎么设计呢?谢谢
LZ您好:
CUDA中在GPU上定义一个结构体和CPU上定义一个结构体是一样的。
以及,您可以根据您的具体问题考虑是否使用结构体。
其他相关事宜,请参阅之前的详细讨论:
http://cudazone.nvidia.cn/forum/forum.php?mod=viewthread&tid=6672
http://cudazone.nvidia.cn/forum/forum.php?mod=viewthread&tid=6813
http://cudazone.nvidia.cn/forum/forum.php?mod=viewthread&tid=6820
大体如此,供您参考。
祝您编码顺利~
谢谢版主!!我想问一下可否用int4来代替呢。int4这种变量类型是不是代表四个整型变量啊?
LZ您好:
1:int4 类型您可以参阅Programming Guide B.3 BUILT-IN VECTOR TYPES章节。
2:仅就您1#给出的这个struct,可以考虑使用int4以优化访存。
大致如此,供您参考。
祝您编码顺利~
以及,我补充下,为了能让您的访存更有效率。
以及为了简化您对struct的理解,您可以将4个成员构成单独的4个数组,这样您可以规避对结构体的使用。
(当然,如果您直接使用者4个4B成员的结构体无压力的话,也可以直接用)