小编lea*_*ess的帖子

从cuda内核中访问类数据成员-如何设计适当的主机/设备交互?

我一直在尝试将一些cuda / C代码转换为更多的OO代码,但就我目前对cuda功能机制的理解而言,我的目标似乎并不容易实现。对于这种情况,我也都找不到很好的解释。毕竟这不可能。

我有一个myclass类的全局对象,其中包含要填充到内核中的数组。

如何定义myClass中的方法,以便从设备可见数组和布尔成员,然后可以数组复制回主机?我使用的是cuda 7.5,我的卡的计算能力为3.5。

这是描述情况的临时结构:

#include <cstdio>
#include <cuda.h>
#include <cuda_runtime.h>

class myClass
{
public:
        bool bool_var;    // Set from host and readable from device
        int  data_size;   // Set from host
        __device__ __host__ myClass();
        __device__ __host__ ~myClass();
        __host__ void setValues(bool iftrue, int size);
        __device__ void dosomething(int device_parameter);
        __host__ void export();

        // completely unknown methods
        __host__ void prepareDeviceObj();
        __host__ void retrieveDataToHost();
private:
        int *data; // …
Run Code Online (Sandbox Code Playgroud)

c++ oop cuda

4
推荐指数
1
解决办法
3422
查看次数

标签 统计

c++ ×1

cuda ×1

oop ×1