alibaba / alibaba/x-deeplearning
batchsize调大,训练异常退出 cuda alloc terminate called after throwing an instance of 'dmlc::Error'
- Dominant language
- PureBasic
- Stars
- 4.3k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
使用gpu mxnet 1.3版本镜像,当训练的batch size大于65000以上,训练程序会报如下错误:
cuda alloc terminate called after throwing an instance of 'dmlc::Error'
what(): [10:07:06] /usr/local/lib/python2.7/dist-packages/mxnet-1.3.0-py2.7.egg/mxnet/cpp-package/include/mxnet-cpp/ndarray.hpp:
因为我想把batch size尽量调大,来提高显卡使用率,目前65000 batch size,显卡使用率不能打满。
看起来和显存不够有关系,但是我的显存是32g,而只使用了12g左右。
随后在docker中单卡跑两个训练程序,显存占用在24g,说明显存是够用的。
难道是一个worker有什么显存上的限制吗,请问这个可以调整吗
@zhuhan1236 @lovickie @woso @yiling-dc @songyue1104
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the failure in the MXNet 1.3 GPU Docker image with batch sizes above 65000, starting from the allocation error in mxnet/cpp-package/include/mxnet-cpp/ndarray.hpp. Compare single-worker and two-process GPU memory usage, then identify whether a worker limit or allocation failure is responsible and document a verified adjustment or limitation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100