【发布时间】:2014-02-02 19:52:35
【问题描述】:
如果我想将下面的结构 TetrahedronStruct 移动到 CUDA 设备内存,我应该如何进行?
struct TetrahedronStruct {
int index;
int region;
TriangleFaces Faces[4];
Vertex Vertices[4];
struct TetrahedronStruct *adjTetrahedrons[4];
};
typedef struct {
long double Nx, Ny, Nz;
long double d;
Vertex V[3];
} TriangleFaces;
typedef struct {
long double x, y, z;
} Vertex;
详情:
提供了网格详细信息(节点数、四面体、坐标和区域)。树的创建是在 for 循环中完成的。基本上,每个面都根据其坐标和邻接关系在树中进行定位和排列。
在 CUDA 设备中,我需要使用此结构覆盖在介质上,以模拟粒子如何穿过该介质。百万个粒子中的每一个都从四面体移动到四面体(每个四面体都具有其所在介质的属性)。
【问题讨论】:
-
@talonmies 我会在这里搜索你的建议:stackoverflow.com/questions/6564016/… 谢谢!
-
这里没有足够的信息来建设性地回答这个问题。解释结构是如何在主机内存中分配的,以及在 CUDA 设备内存中拥有该结构后,设备上的目标是什么。
标签: c++ c memory-management cuda tree