Dlaczego cudaMalloc () używa wskaźnika do wskaźnika?
Na przykład,cudaMalloc((void**)&device_array, num_bytes);
To pytanie byłospytał wcześniej, a odpowiedź brzmiała „ponieważcudaMalloc
zwraca kod błędu ”, ale go nie rozumiem - co ma wspólnego podwójny wskaźnik z zwracaniem kodu błędu? Dlaczego prostego wskaźnika nie można wykonać?
Jeśli piszę
cudaError_t catch_status;
catch_status = cudaMalloc((void**)&device_array, num_bytes);
kod błędu zostanie wprowadzonycatch_status
i wystarczy zwrócić prosty wskaźnik do przydzielonej pamięci GPU, prawda?