CUDA GPU 显存分配详解:cudaMalloc 函数和二级指针
在 CUDA 中,GPU 显存分配通常使用 cudaMalloc 函数来完成。此函数接受一个指向指针的指针,这样可以通过修改指针的指向来分配内存。
参数是二级指针的原因是为了在函数内部修改指针的指向。由于 C 语言中函数参数传递是通过值传递的方式,如果只传递一级指针,函数内部对指针的修改不会影响到函数外部的指针。而使用二级指针可以通过修改指针指向的地址来改变指针的值,从而使函数外部的指针指向新分配的内存。
具体来说,当我们调用 cudaMalloc 函数时,传递给它的参数是一个指向指针的指针。在函数内部,通过调用 malloc 函数来分配内存,并将分配的内存地址赋给指针指向的地址。这样,函数外部的指针就指向了新分配的内存。
原文地址: https://www.cveoy.top/t/topic/lI3C 著作权归作者所有。请勿转载和采集!