Paddle Clone函数内部实现中无用的锁可以去掉

ztmd8pv5  于 2021-12-07  发布在  Java
关注(0)|答案(2)|浏览(219)

https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/fluid/inference/api/api_impl.cc
中的Clone函数中用到了锁,目的是为了防止多线程clone出现问题,然而当前的clone还是深clone(也许后面会使用浅Clone),并不存在并发性问题,因此该lock可以先注解掉,否则Clone可能因为锁而导致等待。

kmbjn2e3

kmbjn2e31#

您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网API文档常见问题历史IssueAI社区来寻求解答。祝您生活愉快~

Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the APIFAQGithub Issue and AI community to get the answer.Have a nice day!

hi3rlvi2

hi3rlvi22#

你好,感谢反馈!

这个的确有道理,我们会排期修改下这块,之前应该是浅拷贝有一些问题。

比较倡导大家在启动多线程之前,先clone/create 好所有的predictor,这个方式会让多线程服务稳定很多。

对应clone这个我们会看下,会专门支持绝对的浅拷贝。

相关问题