1. 程式人生 > >c++和cuda混合程式設計記錄二

c++和cuda混合程式設計記錄二

  /////帶有繼承關係的記憶體分配遇到了問題,父類,子類
    sphere *world_device;
    cudaMalloc( (void**)&world_device,sizeof(sphere) * SPHERENUM );

    sphere world_host[ SPHERENUM ] =
    {
        sphere(0,0,-1,      0.5,   new lambertian(0.8, 0.1, 0.2 )),
        sphere(0,-100.5,-1, 100,   new lambertian( 0.8, 0.8, 0.0 )),
        sphere( 1,0,0.3,   1,     new metal( 0.8, 0.6, 0.2, 0.0 )),
        sphere( -1,1,-1,    1,     new dielectric(0.9)),
        sphere( 1,0,-2  ,   -0.45, new dielectric(1.5))
    };
    cudaMemcpy( world_device, world_host,
                                sizeof(sphere) * SPHERENUM,
                                cudaMemcpyHostToDevice );//
這樣是可以的。記錄一下