我使用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没有任何问题。
答案 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添加到项目