OpenMPI:包 mpi 不存在

Posted

技术标签:

【中文标题】OpenMPI:包 mpi 不存在【英文标题】:OpenMPI: package mpi does not exist 【发布时间】:2015-12-10 04:13:00 【问题描述】:

我使用 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 没有任何问题。

【问题讨论】:

【参考方案1】:

你应该用 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

【讨论】:

【参考方案2】:

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

【讨论】:

但我在目录中找不到 mpi.jar。我在哪里可以找到它?或者我该如何安装ist?

以上是关于OpenMPI:包 mpi 不存在的主要内容,如果未能解决你的问题,请参考以下文章

非root安装openmpi

我是用 OpenMPI 还是 MPICH 编译的?

如何让 mpi4py 在 Windows 上工作

openmpi 中的即时通信与同步通信

Ubuntu 安装openmpi

OpenMPI:MPI.Init 挂在 Java 中 - 如何调试?