来自在线文档:
cudaError_t cudaMemset (void * devPtr, int value, size_t count )
用常量字节值填充 devPtr 指向的内存区域的第一个 count 字节。
参数: devPtr - 指向设备内存值的指针 - 为指定内存计数的每个字节设置的值 - 要设置的大小(以字节为单位)
此描述似乎不正确,因为:
int *dJunk;
cudaMalloc((void**)&dJunk, 32*(sizeof(int));
cudaMemset(dJunk, 0x12, 32);
将所有 32 个整数设置为 0x12,而不是 0x12121212。(整数与字节)
描述谈到设置字节。Count 和 Value 以字节为单位进行描述。注意 count 是size_t类型, value 是 int 类型。即,将字节大小设置为 int 值。
cudaMemset() 在 prog 指南中没有提到。我必须假设我看到的行为是正确的,并且文档很糟糕。
那里有更好的文档来源吗?(在哪里?)
是否支持其他类型?即会float *dJunk;
工作吗?其他的?