在 CUDA 内核中使用 memset
Using memset in a CUDA kernel
这似乎是一个显而易见的问题,但 Google 没有发现任何有趣的问题。在 CUDA 内核中使用 memset
是否合法,例如:
__device__ void myKernel()
{
int array[10];
memset(array, 0, sizeof(array));
// ...etc...
}
(我知道 int array[10] = {0};
可能更好,但这只是一个更复杂的例子。)
是,如 Appendix B of the programming manual、memset
以及 memcpy
、malloc
和 free
中所述(后两者仅在计算设备代码支持 >= 2.0 设备)。
这似乎是一个显而易见的问题,但 Google 没有发现任何有趣的问题。在 CUDA 内核中使用 memset
是否合法,例如:
__device__ void myKernel()
{
int array[10];
memset(array, 0, sizeof(array));
// ...etc...
}
(我知道 int array[10] = {0};
可能更好,但这只是一个更复杂的例子。)
是,如 Appendix B of the programming manual、memset
以及 memcpy
、malloc
和 free
中所述(后两者仅在计算设备代码支持 >= 2.0 设备)。