小编mev*_*eva的帖子

cuPrintf问题

我正在尝试将struct数组复制到device.I正在使用一个GPU atm,我有一个cuPrintf函数的问题,我用它来调试我的代码.

我的结构定义如下:

 struct Node
 {
        char Key[25];
        char ConsAlterKey[25];
        char MasterKey[3];
        int VowelDeletion;
        char Data[6];
        char MasterData[6];
        int Children[35];
        int ChildCount;
 };
Run Code Online (Sandbox Code Playgroud)

为了测试目的,我填充struct数组,如下所示:

void FillArray(Node *NodeArray)
{       
    for(int i=0;i<TotalNodeCount;i++)
    {
            strcpy(NodeArray[i].Key,"Key");

            strcpy(NodeArray[i].ConsAlterKey,"ConsAlterKey");

            strcpy(NodeArray[i].MasterKey,"Mk");

            NodeArray[i].VowelDeletion=0;

            strcpy(NodeArray[i].Data,"Data");

            strcpy(NodeArray[i].MasterData,"Mdata");

            NodeArray[i].ChildCount=5;

            for(int j =0;j<NodeArray[i].ChildCount;j++)
            {
                    NodeArray[i].Children[j]=i+j;
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的主要功能如下:

int main()
{
    Node *NodeArray;
    Node *GpuTree;
    int tokenCount=0;
    int *tokenCountGPU;

    NodeArray =(Node *)malloc(sizeof(Node)*(TotalNodeCount));
    FillArray(NodeArray);
    printf("Filling test : %s\n", NodeArray[13].Key);

    gpuAssert(cudaMalloc( (void**)&GpuTree, sizeof(Node)*(TotalNodeCount)));
    gpuAssert(cudaMemcpy(GpuTree, NodeArray,sizeof(Node)*(TotalNodeCount), cudaMemcpyHostToDevice));

    //test value
    tokenCount=35;


    gpuAssert( cudaMalloc((void **)&tokenCountGPU, sizeof(int)) …
Run Code Online (Sandbox Code Playgroud)

c cuda gpu

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

标签 统计

c ×1

cuda ×1

gpu ×1