我目前正在重复使用 MATLAB 2012a 中的 MEX 文件的实验,偶尔会遇到我无法理解的分段错误。
有关故障的一些信息
它们随机发生
它们仅在我使用 parfor 循环在 Linux 机器上并行运行多次重复实验时发生。
当我使用 parfor 循环在 Mac OSX 10.7 上并行运行多次重复实验时,它们不会发生。
它们不会在我跑步时出现,或者它们在我按顺序运行重复时会出现。
当我并行运行 2 个实验时,它们的发生频率似乎要低得多 - 而不是 12 个并行实验。
关于我的 MEX 文件的一些信息:
它是用 C 写的
它使用 IBM CPLEX 12.4 API(这是线程安全的)
它是使用 GCC 4.6.3 编译的
我的想法是在多核中访问 MEX 文件可能存在一些问题。任何人都可以阐明可能发生的事情或提出修复建议吗?我很乐意在必要时提供更多信息。