文档章节

使用MPJ Express编写并行程序

MyHaskell
 MyHaskell
发布于 2015/10/14 20:02
字数 313
阅读 56
收藏 1

什么是MPJ Express?

MPJ Express是MPI(消息传递接口)的一个java版本的实现。用来在多核计算机或者计算集群上编写并行程序。

安装配置MPJ Express

    从http://mpj-express.org/下载MPJ Express

    解压到某一目录

    设置环境变量,如:将MPJ解压到了/opt目录下,则设置变量:

        export MPJ_HOME=/opt/mpj

        export PATH=$MPJ_HOME/bin:$PATH

    为/opt/mpj/bin目录下的.sh文件添加可执行权限

一个简单的java例子

创建HelloWorld.java文件,内容如下:

//MPJ Express

import mpi.*;

    public class HelloWorld {
    
         public static void main(String args[]) throws Exception {
         
         MPI.Init(args);
         
         int me = MPI.COMM_WORLD.Rank();
         int size = MPI.COMM_WORLD.Size();
         
         System.out.println("Hi from <"+me+">");
         MPI.Finalize();
    }
}

编译:

    javac -cp .:$MPJ_HOME/lib/mpj.jar HelloWorld.java

运行:

    mpjrun.sh -np 8 HelloWorld

如无错误,则会启动8个进程,结果如下:

哈哈,我们可以用java编写真正的并行程序了。

参考资料

    http://mpj-express.org

在集群上运行并行程序

    暂时没有可用的集群,下次再补充。

© 著作权归作者所有

共有 人打赏支持
MyHaskell
粉丝 6
博文 28
码字总数 11016
作品 1
东城
程序员
私信 提问
Groovy的并行处理框架--GPars

随着并行计算在计算机上的广泛应用(自己用的本本都已经是双核的了),并行计算软件也逐步走向台前,GPars就为我们用Groovy编写并行程序提供了方便。 GPar( Apache 2 License),原名是 GP...

匿名
2010/05/20
4.8K
0
Java 并行编程 API--PJ2

Parallel Java 2 (PJ2) 是 100% Java 实现的并行编程 API 和中间件,支持多核并行计算机,集群并行计算机,缓和多核集群并行计算机和 GPU 加速并行计算机。PJ2 包括一个轻量级 map-reduce 框...

叶秀兰
2015/09/21
773
0
fortran—MPI,关于MPI_REAL16

在编写fortran的MPI并行程序的时候,需要用到real(16)类型,但是MPI_Reduce,MPI_Allreduce,函数计算出的结果都是错的,不知道哪位大神遇到过类似的问题吗,不知道能解决吗? ps. 在win7系...

考拉爱发呆
2015/09/23
311
0
Stackful 协程库--libgo

libgo 是一个使用 C++ 编写的协作式调度的stackful协程库, 同时也是一个强大的并行编程库。 设计之初是为高并发分布式Linux服务端程序开发提供底层框架支持,可以让链接进程序的同步的第三方...

Li_Mr
2016/01/25
8.6K
6
推荐阅读的多核编程技术书籍

多核编程技术好书推荐 多核程序设计技术——通过软件多线程提升性能 , 作 者: (孟加拉)阿克特(Akhter,S.),(美)罗伯茨(Roberts,J.) 著,李宝峰,富弘毅,李韬 译 本书从原理、技术...

晨曦之光
2012/03/09
336
1

没有更多内容

加载失败,请刷新页面

加载更多

如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
37分钟前
0
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
54分钟前
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxCool
今天
1
0
携程Apollo统一配置中心的搭建和使用(java)

一.Apollo配置中心介绍 1、What is Apollo 1.1 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到...

morpheusWB
今天
1
0
远程获得的有趣的linux命令

使用这些工具从远程了解天气、阅读资料等。 我们即将结束为期 24 天的 Linux 命令行玩具日历。希望你有一直在看,如果没有,请回到开始,从头看过来。你会发现 Linux 终端有很多游戏、消遣和...

Linux就该这么学
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部