CUdeviceptr是否可以設置爲零(NULL)以表示未初始化的指針,或者在任何情況下都可以爲零有效的設備指針?此外,是否允許將空設備指針傳遞給cuMemFree?我假設這與C(++)中的工作方式類似,但我一直無法找到任何證明這一點的文檔。如果可能的話,我想要一個提到某種可信來源的答案。零是CUDA設備指針的有效值嗎?
編輯:有什麼想知道,如果它保證我可以寫這樣的代碼:
CUdeviceptr p=0;
[... do something else, maybe allocate memory for p ...]
if (p != 0) {
cuMemFree(p);
p = 0;
}
或不if
聲明甚至更好,就像我可以做delete
。還是我必須手動跟蹤p
的分配狀態?
謝謝。你知道這是否記錄在某個地方? –
我不知道它是否記錄在任何地方。我所知道的是,在使用CUDA驅動程序(我從1.0之前版本到4.0版本)時,我們特別在實現cuMemAlloc()時採取了措施,以防止在執行有效內存分配時它傳回0。 – ArchaeaSoftware