gpt4 book ai didi

c++ - MATLAB 并行工具箱,remoteParallelFunction : RUNTIME_ERROR during function evaluation

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:29:13 24 4
gpt4 key购买 nike

我在 MATLAB 2012b 中将并行计算工具箱 (PCT) 与 Simbiology 工具箱结合使用。当我使用远程工作人员池而不是本地工作人员池运行我的脚本时,我收到间歇性错误消息:

捕获到 std::exception 异常消息是:

vector::_M_range_check

Error using parallel_function (line 589)
Error in remote execution of remoteParallelFunction : RUNTIME_ERROR

Error in PSOFit (line 486)
parfor ns = 1:r.NumSwp

Error in PSOopt_driver (line 209)
PSOFit(ObjFuncName,LB,UB,PSOopts);

当我注释掉对函数 sbiosimulate(用于模型评估的 SimBiology 函数)的调用时,错误不会发生。

我有几个想法:

  • 我引入了某种竞争条件,导致访问模型变量时出现问题(这在 MATLAB 中可能吗?)
  • 模拟生物学中的模型编译有时但并不总是与 PCT 兼容,我遇到了某种边缘情况
  • 由于 sbiosimulate 评估编译的 C++ 代码,对于某些输入,源代码中可能存在生成异常的错误

我知道 this .

最佳答案

我是 SimBiology 的开发者。我相信这是在 R2012a 版本中引入到 SimBiology 的 C++ 代码中的错误。当模拟结束而没有产生任何模拟结果时,就会触发该错误。当模型配置为仅报告特定时间(使用 OutputTimes 选项)并且仿真配置为在特定的实时时间后结束(使用 MaximumWallClock 选项)时,有时会发生这种情况。基本上,模拟在有机会记录第一个输出时间之前就“超时”了。

解决此问题的一种方法是始终在 OutputTimes 中包含时间 0。这个时间总是在评估 MaximumWallClock 标准之前被记录下来,防止错误被触发。我也在直接联系该用户,并将在未来的版本中修复该错误。

关于c++ - MATLAB 并行工具箱,remoteParallelFunction : RUNTIME_ERROR during function evaluation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14585027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com