【发布时间】:2015-08-08 13:05:03
【问题描述】:
我在 C 代码中实现了二叉搜索树。我的每个树节点都如下所示:
typedef struct treeNode {
int key;
struct treeNode *right;
struct treeNode *left;
} treeNode_t;
宿主制作的树的构造。设备对树的查询。
现在,假设我已经在主机内存中构建了我的 Tree。 我想将树的根复制到设备的内存中。
复制它自己的树的根是不够的。因为右\左孩子不在设备内存中。这是个问题。
那么,我的问题是将整个树复制到设备内存的最简单方法是什么?
【问题讨论】:
-
如果你的树节点正好是 20 字节,你可以填充它直到它变成 32 或 64 字节,然后重新计算所有地址,使它们在地址空间中变得连续,使最小的地址为零并减去它的来自其他人的值并将旧地址保存在其他一些字段(例如填充字段)中,然后在设备中计算,同时保持主机地址和设备地址的相对地址不变。
-
你打算用 OpenCL 中的那棵树做什么?
标签: c tree opencl binary-tree