gpt4 book ai didi

c++ - CUDA - 在内核中创建对象并在主机上使用它们

转载 作者:行者123 更新时间:2023-11-28 05:51:45 26 4
gpt4 key购买 nike

<分区>

我需要在我的内核中使用多态性。这样做的唯一方法是在设备上创建这些对象(使虚拟方法表在设备上可用)。这是正在创建的对象

class Production {
Vertex * boundVertex;
}


class Vertex {
Vertex * leftChild;
Vertex * rightChild;
}

然后在我做的主机上:

Production* dProd;
cudaMalloc(&dProd, sizeof(Production *));
createProduction<<<1,1>>>(dProd);

在哪里

__global__ void createProduction(Production * prod) {
prod = new Production();
prod->leftChild = new Vertex();
prod->rightChild = new Vertex();
}

问题是如何将在设备上创建的产品的左顶点和右顶点都返回到主机上?我知道在类中使用指针会使它们很难处理,但是......没有其他方法可以创建这种树结构。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com