目前做过如下实验:
1.主进程中只有一个caffe预测线程时GPU占用量是1198M。
2.主进程中开2个caffe预测线程对不同的测试集进行检测(其中网络的创建、模型加载都在各自线程中完成),原本以为这应该是2个独立的任务,GPU占用量应该是开1个线程的2倍才对(即1198*2),但实际实验却发现GPU 占用量仅为1344M,且还发现,当其中一个线程完成释放掉自己的空间后,另一个线程就会出错,出错内容貌似正在使用的资源被释放掉了。这是主要问题,请问caffe内部对多线程的内存占用有自己的调度吗,这两个线程共用了内存吗?
3.主进程中开2个caffe预测线程,在主线程中仅创建了1个网络,然后传给了2个线程执行不同的任务,本以为caffe内部的预测数据会出现混乱,但并没有完全混乱,只有一个线程正确输出了结果,GPU占用量仅600M左右,但执行速度特别慢。不知道问题所在。
4.主进程中开2个caffe预测线程,在主线程中仅创建了2个网络,然后分别传给了2个线程执行不同任务,两个线程都正确输出了结果,GPU占用量也仅600M左右,但检测十分缓慢。
发表回答
你还没有登录,请先登录 或 注册!