一、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端未完成访问。