由多个GPU触发的段错误

时间:2018-10-18 02:33:06

标签: caffe

我正在使用caffe在8 GPU(1080Ti)服务器上运行训练脚本。

如果我训练6个或更少的GPU(使用CUDA_VISIBLE_DEVICES),一切都很好。

(我设置了export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5并在训练脚本中指定了这些GPU。)

但是,如果我在7或8个GPU上进行训练,则在开始训练时会始终看到此错误:

Error: (unix time) try if you are using GNU date
SIGSEGV (@0x70) received by PID 17206 (TID 0x7fc678ffd700) from PID 112; stack trace:
@     0x7fc86186b4b0 (unknown)
@     0x7fc861983f75 (unknown)
@     0x7fc863c4b4c7 std::__cxx11::basic_string<>::_M_construct<>()
@     0x7fc863c4c60b _ZN5caffe2db10LMDBCursor5valueB5cxx11Ev
@     0x7fc863ace3e7 caffe::AnnotatedDataLayer<>::DataLayerSetUp()
@     0x7fc863a6e4d5 caffe::BasePrefetchingDataLayer<>::LayerSetUp()
@     0x7fc863cbf2b4 caffe::Net<>::Init()
@     0x7fc863cc11ae caffe::Net<>::Net()
@     0x7fc863bb9c9a caffe::Solver<>::InitTestNets()
@     0x7fc863bbb84d caffe::Solver<>::Init()
@     0x7fc863bbbb3f caffe::Solver<>::Solver()
@     0x7fc863ba7d61 caffe::Creator_SGDSolver<>()
@     0x7fc863ccc1c2 caffe::Worker<>::InternalThreadEntry()
@     0x7fc863cf94c5 caffe::InternalThread::entry()
@     0x7fc863cfa38e boost::detail::thread_data<>::run()
@     0x7fc85350d5d5 (unknown)
@     0x7fc83fee56ba start_thread
@     0x7fc86193d41d clone
@                0x0 (unknown)```

跟踪开始处的Error: (unix time) ...显然是thrown by glog

它似乎是在发生一般故障时抛出的。

This thread显示了触发Error: (unix time)...和类似跟踪的许多不同问题。

在线程中,请注意,多个GPU可能会触发此错误。

这就是我看来的根本原因。

有什么我需要进一步研究以了解发生了什么事情?

0 个答案:

没有答案