Java OpenMPI 安装

  1. 下载jdk8:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  2. 解压jdk:

    tar -zxvf /Dowloads/jdk-8u161-linux-x64.tar.gz
  3. 下载openMPI:https://www.open-mpi.org/software/ompi/v3.0/

  4. 解压OpenMPI:

    tar -zxvf /Dowloads/openmpi-3.0.0.tar.gz
  5. 配置包含Java的Makefile,编译:

    ./configure --prefix=/opt/openmpi --enable-mpi-java ##不加prefix可能找不到mpi.jar
    
    make
    
    sudo make install
  6. 配置环境变量(如 .bashrc)

    export JAVA_HOME=/root/Downloads/jdk1.8.0_161
    export JRE_HOME=${JAVA_HOME}/jre
    export MPI_HOME=/opt/openmpi
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:${MPI_HOME}/lib
    export PATH=${JAVA_HOME}/bin:${MPI_HOME}/bin:$PATH
  7. 检查是否正常运行

    import mpi.*;
    
    class ComputePi {
    
       public static void main(String args[]) throws MPIException {
    
           MPI.Init(args);
    
           int rank = MPI.COMM_WORLD.getRank(),
               size = MPI.COMM_WORLD.getSize(),
               nint = 100; // Intervals.
           double h = 1.0/(double)nint, sum = 0.0;
    
           for(int i=rank+1; i<=nint; i+=size) {
               double x = h * ((double)i - 0.5);
               sum += (4.0 / (1.0 + x * x));
           }
    
           double sBuf[] = { h * sum },
                  rBuf[] = new double[1];
    
           MPI.COMM_WORLD.reduce(sBuf, rBuf, 1, MPI.DOUBLE, MPI.SUM, 0);
    
           if(rank == 0) System.out.println("PI: " + rBuf[0]);
           MPI.Finalize();
       }
    }
  8. 在当前路径下建立hosts文件(单机)

    localhost    slots=4 ##表示使用本机的4个进程
  9. 编译并运行代码

    mpijavac ComputePi.java
    mpiexec --hostfile hosts -np 4 --allow-run-as-root java ComputePi
    mpirun --allow-run-as-root lr
  10. 显示结果:

    PI: 3.141600986923125

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值