当Java Runtime.exeC语言 exeC语言 exeC语言 ports发布时,OpenMP程序将随机sigsegv获



in Java:

Runtime.getRuntime().exec( command, null, workingDir)

运行我的C 程序,但该程序随机获得大约10%的时间。

如果我使用以下代码,一切都可以完美地工作:

Runtime.getRuntime().exec( command, new String[]{"PATH=/tmp"}, workingDir);

奇怪但真实。

看起来好像问题在于OpenMP。有争议的C 代码使用OpenMP,当它在不需要多个处理器的模式中使用时,您必须通过:

来调用它。

runtime.getRuntime((。exec(cmd,new String [] {},workingDir(;

如果您致电:

runtime.getRuntime((。exec(cmd,new String [] {" gomp_cpu_affinity = 0-7"},workingDir(

然后您会得到虚假/随机sigsegv错误。

我要声称这与OpenMP有关,而不是与Java的Runtime.exec((。

如果我使用以下代码,一切都可以完美地工作:

Runtime.getRuntime().exec( command, new String[]{"PATH=/tmp"}, workingDir);

听起来可能很奇怪,但有效!

相关内容

  • 没有找到相关文章

最新更新