如何从命令提示符或Eclipse中在Windows(10)上的JOMP中运行多个线程?

时间:2018-06-02 10:11:22

标签: java concurrency openmp

无论我尝试什么,我都无法使用JOMP运行多个线程。实际上,无论我尝试什么,我都无法从命令行运行JOMP程序,虽然具有讽刺意味的是它会从那里编译然后在Eclipse中运行!即使在Eclipse中,我只有一个线程。我已经仔细阅读了我大学课程中关于安装JOMP的笔记,但他们没有帮助。我会更具体:

以下引号中的项目来自这些注释:

  1. "有几个网站告诉你如何在Eclipse下运行jomp,请参阅http://www.lst.inf.ethz.ch/teaching/lectures/ss10/24/ assignments / assignment_10 / eclipse.txt"
  2. 这是指现在已断开的链接。它似乎也是Stackoverflow等论坛上讨论这个问题的唯一链接。显然它有关于Eclipse的运行时设置的说明,允许多个线程运行,但由于链接当前已被破坏,我无法访问这些有价值的指令。

    1. "为了做到这一点,只需确保jomp1.0b.jar位于CLASSPATH"
    2. 我在命令提示符下运行echo%CLASSPATH%以检查它是否在类路径上并得到以下响应:

      C:\ Program Files \ Java \ jre1.8.0_162 \ lib \ jomp1.0b.jar

      在我的电脑上,jomp jar文件位于该文件夹中,因此看起来我应该能够从命令行执行已编译的JOMP程序,但不幸的是情况并非如此。通过执行其中一个命令,它应该运行:

      java -Djomp.threads = 2 parallel

      java -Djomp.threads = 2 -cp。平行

      java -Djomp.threads = 2 -cp C:\ Users \ terry \ eclipse-workspace \ JOMPHello \ src parallel

      这是jomp,java和编译类文件所在的文件夹。我还检查了" parallel"是我在Eclipse中设置的完全限定的类名,它看起来确实如此。因此,运行其中一个命令应该允许我从命令行运行jomp程序尽可能接近,但它们都返回以下错误:

      错误:无法找到或加载主类并行 引起:java.lang.ClassNotFoundException:parallel

      (我觉得要告诉Java,"你看起来不够努力!它正好在我运行此命令的文件夹中!")

      显然我错过了一些东西。任何人都可以告诉我如何在命令行上运行JOMP程序,或者知道如何在Eclipse中设置有关运行时设置的工作的可访问指令?

      我的程序实现似乎只运行一个线程,所以希望这意味着它是正确的,但我只能确定一旦我用至少几个线程运行它。

      谢谢, 特里。

1 个答案:

答案 0 :(得分:0)

我想出了如何在Eclipse中设置运行时参数。您只需将以下行添加到文件的“运行配置”中“参数”选项卡下的“VM参数”框中:

−Djomp.threads=n 

(其中n和以前一样是你想要的线程数)。

我仍然想知道它为什么不在命令行上工作。这让我觉得我的Java很奇怪。