0

我有 uint3 类型的数据。我的应用程序填充成员 x 和 y 一次,但成员 z 多次。所以,我需要在下一个数据到来之前清除成员 z。可以使用 cudaMemSet 完成吗?

4

1 回答 1

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
    );

我不确定性能。您可能需要考虑从结构数组切换到数组结构。

于 2012-09-09T22:37:11.643 回答