DDR爱好者之家 Design By 杰米

OpenMPI是一种高性能消息传递库,最初是作为融合的技术和资源从其他几个项目(FT- MPI, LA-MPI, LAM/MPI, 以及 PACX-MPI),它是MPI-2标准的一个开源实现,由一些科研机构和企业一起开发和维护。因此,OpenMPI能够从高性能社区中获得专业技术、工业技术和资源支持,来创建最好的MPI库。OpenMPI提供给系统和软件供应商、程序开发者和研究人员很多便利。易于使用,并运行本身在各种各样的操作系统,网络互连,以及一批/调度系统。
Open MPI并不是LAM/MPI, LA-MPI和FT-MPI的简单组合,而是一种全新的MPI实现,其完全实现了MPI-1.2和MPI-2规约,并且完全支持并发和多线程应用(也就是MPI_THREAD_MULTIPLE)。
为了有效有效支持大范围的并行机,开发了高性能驱动程序,其中包括TCP/IP, shared memory, Myrinet, Quadrics, and Infiniband,更多的机器支持可能会基于用户、市场和研究需要而增加。对于网络传输错误,Open MPI提供了一种可选的特性来检测数据的完整性。通过使用报文分段和拆分到多个网络设计,Open MPI不仅可以达到可用带宽的最大值,而且当节点使用多台网络设备的时候,可以动态处理网络设备的数据丢失。
Open MPI的运行时环境提供了启动和管理并行应用的基本服务。

Ubuntu 安装 OpenMPI
1. 下载OpenMPI
在官网(http://www.open-mpi.org/software/)上下载最新版本的安装包,如:openmpi-1.8.4.tar.gz
2. 解压并进行配置

复制代码代码如下:
tar -zxvf openmpi-1.8.4.tar.gz
cd openmpi-1.8.4
./configure --prefix="/usr/local/openmpi"

注意最后一行是将其安装到 /usr/local/openmpi目录下,可以指定为其他目录,如,用户目录下。
3. Build 并安装

复制代码代码如下:
make
sudo make install

可以在make后加参数-j8, 表示用8核编译
4. 添加环境变量
在.bashrc文件中添加下列几行

复制代码代码如下:
export PATH="$PATH:/usr/local/openmpi/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/openmpi/lib/"

保存后,执行

复制代码代码如下:
sudo ldconfig

打开新的终端,使环境变量生效。
5. 测试是否安装成功

复制代码代码如下:
mpirun

其他
Open MPI使用简单C语言面向对象系统实现,使用基于单一继承和引用计数的retain/release内存管理模型。一个object由一个结构体和单一实例化的class标识符组成。结构体的首个元素一个是指定父类结构体的指针。
宏指令会对C++类似的语义(如new, construct, destruct, delete)产生影响。因为C++项目的丰富经验和某些平台编译方面的问题,使得在开发Open MPI使用了面向对象方法,而不是直接使用C++。
一旦构造,对象引用计数被设置为1。当对象retain,计数递增,当对象release,计数递减。当计数到达0,会运行对象的析构器并释放内存。

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。