OpenMPI:包mpi不存在

时间:2015-09-14 08:13:50

标签: java mpi javac openmpi

我使用OpenMPI。我想从示例here运行Hello.java和Ring.java。 我用这一行编译Hello.java:

javac Hello.java

然后我可以用mpirun运行它。

但是当我编译它时,我收到了这个错误:

Hello.java:25: error: package mpi does not exist
import mpi.*;
^
Hello.java:28: error: cannot find symbol
    static public void main(String[] args) throws MPIException {
                                                  ^
  symbol:   class MPIException
  location: class Hello
Hello.java:31: error: cannot find symbol
    MPI.Init(args);
    ^
  symbol:   variable MPI
  location: class Hello
Hello.java:33: error: package MPI does not exist
    int myrank = MPI.COMM_WORLD.getRank();
                    ^
Hello.java:34: error: package MPI does not exist
    int size = MPI.COMM_WORLD.getSize() ;
                  ^
Hello.java:37: error: cannot find symbol
    MPI.Finalize();
    ^
  symbol:   variable MPI
  location: class Hello
6 errors

谁能告诉我在哪里可以找到MPI包?或者我该如何解决这个问题?

PS:我用mpicc和mpic ++运行文件hello_c.c没有任何问题。

2 个答案:

答案 0 :(得分:3)

您应该使用mpi类路径编译“ Hello.java”

javac -cp "path to mpi.jar" Hello.java

当我使用“ MAC OS”时,“ mpi.jar”位于此路径中:“ / usr / local / lib / mpi.jar”

因此,我使用以下命令进行了编译:

javac -cp "/usr/local/lib/mpi.jar" Hello.java

您也可以使用“ mpijavac”:

mpijavac -cp "/usr/local/lib/mpi.jar" Hello.java

然后,您可以使用以下命令运行文件:

mpirun java Hello

如果在您的库中找不到“ mpi.jar”,则可能您没有使用Java绑定安装open-mpi:

./configure --enable-mpi-java

有关更多信息,您可以访问open-mpi with java

答案 1 :(得分:0)

也许,您必须使用java libary(example)安装openMPI并且(或)将mpi.jar添加到项目