相关疑难解决方法(0)

CUDA / CUDA Thrust 中的多态性和派生类

这是我在 Stack Overflow 上的第一个问题,这是一个很长的问题。thrust::device_vector<BaseClass>tl;dr 版本是:如果我希望 a 存储不同类型的对象,我该如何使用 aDerivedClass1DerivedClass2a ?

\n\n

我想利用 CUDA Thrust 的多态性。我正在编译一个-arch=sm_30GPU (GeForce GTX 670) 进行编译。

\n\n

让我们看一下下面的问题:假设镇上有 80 户家庭。其中60户是已婚夫妇,20户是单亲家庭。因此,每个家庭都有不同数量的成员。现在是人口普查时间,家庭必须说明父母的年龄和孩子的数量。Family因此,政府构建了一个对象数组,thrust::device_vector<Family> familiesInTown(80)即家庭信息familiesInTown[0]对应familiesInTown[59]为已婚夫妇,其余信息(familiesInTown[60]为 )familiesInTown[79] ) 为单亲家庭。

\n\n
    \n
  • Family是基类 - 家庭中父母的数量(单亲父母数量为 1,夫妻数量为 2)以及他们拥有的孩子数量作为成员存储在此处。
  • \n
  • SingleParent,派生自Family,包括一个新成员 - 单亲父母的年龄,unsigned int ageOfParent
  • \n
  • MarriedCouple,也源自Family,但是,引入了两个新成员 - 父母的年龄,unsigned int ageOfParent1以及unsigned int ageOfParent2

    \n\n …

polymorphism cuda thrust

5
推荐指数
2
解决办法
3831
查看次数

标签 统计

cuda ×1

polymorphism ×1

thrust ×1