にゃははー

はへらー

これ何がいけないんだろう

#include <stdlib.h>

#include <iostream>
using namespace std;

int main( void )
{   
    float3 h_ptr[ 1024 ][ 1024 ];
    float4 *d_ptr = NULL;
    if ( cudaMalloc( &d_ptr, sizeof( float4 ) * 1024 * 1024 ) != cudaSuccess )
    {   
        cout << cudaGetErrorString( cudaGetLastError() ) << endl;
        return 0;
    }

    cudaMemcpy3DParms params;
    memset( &params, 0, sizeof( params ) );
    params.srcPtr = make_cudaPitchedPtr( d_ptr, sizeof( float4 ), sizeof( float4 ), 1024 );
    params.dstPtr = make_cudaPitchedPtr( h_ptr, sizeof( float3 ), sizeof( float3 ), 1024 );
    params.extent = make_cudaExtent( sizeof( float3 ), 1024, 1024 );
    params.kind   = cudaMemcpyHostToDevice;
    if ( cudaMemcpy3D( &params ) != cudaSuccess )
    { cout << cudaGetErrorString( cudaGetLastError() ) << endl; }

    cudaFree( d_ptr );
    return 0;
}

cudaMemcpy3Dで必ずセグフォになる・・・