2012-09-09 4 views

답변

1

cudaMemset2D 값을 설정하는 데 사용할 수 있습니다.

int* dev_ptr = (int*)dev_uint3_ptr; 
cudaMemset2D(
    dev_ptr + 2, // offset device_ptr by 2 elements so first element is z 
    sizeof(uint3), // set pitch to size of uint3 so each increment is to next z 
    0,    // set to 0 
    sizeof(int), // sizeof(z) 
    elements  // number of elements in your array 
    ); 

성능이 확실하지 않습니다. 구조 배열에서 배열 구조로 전환하는 것이 좋습니다.

+0

성능과 관련하여 성능을 사용하는 첫 번째 커널에서 z를 0으로 초기화하는 것이 더 나을 것입니다. – harrism

+0

cudaMemset2D는 N 개의 요소에 대해 N 개의 스레드를 시작하는 것보다 시간이 오래 걸립니다. –

관련 문제