CUDA與Tensorflow 聯調

一、err_num 33 invalid resource handle

問題:從單GPU卡過渡到雙GPU卡的時候出現
解決:參考該網頁https://devtalk.nvidia.com/default/topic/496605/cudasafecall-runtime-api-error-33-invalid-resource-handle-/
分析:流必須在設置設備後建立,但是本問題也無法解決,猜測是Tensorflow獨佔所有卡,估計裏面應該有流跟卡的一些設置,因此不設流反而解決問題。
CUDA編程中應該一個CPU線程使用一個GPU卡,在線程中設置卡,則該線程所調用所有函數、變量均在該卡中執行、分配

二、使用cudaMallocManaged()分配的內存無法訪問,其他的可以訪問

問題:在一個類中使用該函數分配的顯存,另一個類無法直接調用,出現訪問失敗
解決:使用cudaMemcpy,將該顯存內容拷貝到內存中
原因:GPU端未完成訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章