Например, cudaMalloc((void**)&device_array, num_bytes);
Этот вопрос уже был , и ответ был "потому что cudaMalloc
возвращает код ошибки", но я не понимаю - что двойной указатель связан с возвратом кода ошибки? Почему простой оператор не может выполнить эту работу?
Если я пишу
cudaError_t catch_status;
catch_status = cudaMalloc((void**)&device_array, num_bytes);
код ошибки будет помещен в catch_status
, и возврат простого указателя на выделенную память GPU должен быть достаточным, не так ли?