首页 Paddle框架 帖子详情
fluid gpu执行问题
收藏
快速回复
Paddle框架 问答深度学习模型训练 2901 4
fluid gpu执行问题
收藏
快速回复
Paddle框架 问答深度学习模型训练 2901 4

用gpu执行线性回归的例子,出现如下问题

self.executor.run(program.desc, scope, 0, True, True)
paddle.fluid.core.EnforceNotMet: enforce allocating <= available failed, 3704656494 > 3542482688
at [/paddle/paddle/fluid/platform/gpu_info.cc:119]
PaddlePaddle Call Stacks:
0 0x7f15cbcc2c76p paddle::platform::EnforceNotMet::EnforceNotMet(std::__exception_ptr::exception_ptr, char const*, int) + 486
1 0x7f15ccc7159ep paddle::platform::GpuMaxChunkSize() + 766
2 0x7f15ccba154dp paddle::memory::GetGPUBuddyAllocator(int) + 141
3 0x7f15ccba175cp void* paddle::memory::Alloc(paddle::platform::CUDAPlace, unsigned long) + 28
4 0x7f15ccb96d22p paddle::framework::Tensor::mutable_data(boost::variant, std::type_index) + 866
5 0x7f15cc2c63dfp paddle::operators::FillConstantOp::RunImpl(paddle::framework::Scope const&, boost::variant const&) const + 1007
6 0x7f15ccaf718dp paddle::framework::OperatorBase::Run(paddle::framework::Scope const&, boost::variant const&) + 205
7 0x7f15cbd5e9efp paddle::framework::Executor::RunPreparedContext(paddle::framework::ExecutorPrepareContext*, paddle::framework::Scope*, bool, bool, bool) + 255
8 0x7f15cbd5fa40p paddle::framework::Executor::Run(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool) + 128
9 0x7f15cbcda63bp pybind11::cpp_function::initialize(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}, void, paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}&&, void (*)(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) + 555
10 0x7f15cbcd2b44p pybind11::cpp_function::dispatcher(_object*, _object*, _object*) + 2596
11 0x55e04b789d57p PyEval_EvalFrameEx + 29351
12 0x55e04b7808cap PyEval_EvalCodeEx + 1754
13 0x55e04b78824ep PyEval_EvalFrameEx + 22430
14 0x55e04b7808cap PyEval_EvalCodeEx + 1754
15 0x55e04b79c44cp
16 0x55e04b7b478ep
17 0x55e04b7b433ap
18 0x55e04b7714abp
19 0x55e04b787f60p PyEval_EvalFrameEx + 21680
20 0x55e04b7808cap PyEval_EvalCodeEx + 1754
21 0x55e04b7801e9p PyEval_EvalCode + 25
22 0x55e04b7b0bdfp
23 0x55e04b7ab952p PyRun_FileExFlags + 130
24 0x55e04b7aadcdp PyRun_SimpleFileExFlags + 397
25 0x55e04b75a58bp Py_Main + 1675
26 0x7f1610524b97p __libc_start_main + 231
27 0x55e04b759e0ap _start + 42

 

在终端执行export FLAGS_fraction_of_gpu_memory_to_use=0 后,问题解决。

0
收藏
回复
全部评论(4)
时间顺序
挪威的仙人掌
#2 回复于2018-08

【在终端执行export FLAGS_fraction_of_gpu_memory_to_use=0 后,问题解决。】

您的问题是已经解决了么?

0
回复
七台河刘玉梅
#3 回复于2018-08

如果要指定GPU个数和编号的话,可以在终端输入以下命令:

export CUDA_VISIBLE_DEVICES=0,1
1
使用上面的方法如果是换一个终端,就没有上面的效果了,如果想设计持久化,就要在~/.bashrc的最后加上以下代码:

cudaid=${cudaid_num:=0,1}
export CUDA_VISIBLE_DEVICES=$cudaid

0
回复
七台河刘玉梅
#4 回复于2018-08

是的,结果和cpu一样

0
回复
n
nice你不要死
#5 回复于2019-07

您好直接在Linux终端输入就可以吗?

 

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户