mpi

./configure --prefix=/opt/openmpi/4.0.3/intel CC=icc CXX=icpc FC=ifort F77=ifort --disable-vt

 

编译make

安装make install

 

tar -xzvf openmpi-1.6.5.tar.gz --no-same-owner --no-same-permissions
cd openmpi-1.6.5
./configure --prefix=/opt/openmpi/1.6.5/intel CC=icc CXX=icpc FC=ifort F77=ifort --disable-vt
make
make install

 

 

 

qiu

 

老哥

 

### MPI在并行计算中的作用 消息传递接口(Message Passing Interface, MPI)是一种标准化的消息传递库,主要用于编写可扩展的并行应用程序。MPI 提供了一组丰富的函数来支持进程间的通信,使得开发者可以方便地实现分布式内存环境下的并行算法[^1]。 #### 基础功能 MPI 的核心功能包括但不限于发送和接收数据、广播信息、收集数据以及执行全局操作等。以下是两个基础函数及其用途: - `MPI_Comm_size` 函数用于获取当前通讯域内的进程总数。 - `MPI_Comm_rank` 函数则返回调用此函数的进程在其所属通讯域中的唯一标识号。 这两个函数通常被用来初始化程序,并帮助程序员理解当前运行环境中可用资源的数量及具体位置。 ```cpp int size; MPI_Comm_size(MPI_COMM_WORLD, &size); // 获取总进程数 int rank; MPI_Comm_rank(MPI_COMM_WORLD, &rank); // 获取当前进程编号 ``` #### 并行计算背景 对于刚接触并行计算的人来说,了解其基本原理非常重要。并行计算涉及多个处理器协同工作以解决单一问题的能力。通过分解任务到不同处理单元上同时执行,能够显著提升性能与效率[^2]。 #### 实际应用案例 当实际开发基于MPI的应用时,除了上述提到的基础API之外还需要考虑更多高级特性比如点对点通信(P2P),集体通信模式等等。下面给出一段简单的例子展示如何利用MPI完成最经典的hello world程序: ```cpp #include <mpi.h> #include <iostream> int main(int argc, char* argv[]) { MPI_Init(&argc, &argv); int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world_size); int world_rank; MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); std::cout << "Hello from process " << world_rank << "/" << world_size << "\n"; MPI_Finalize(); } ``` 这段代码展示了怎样启动MPI环境,查询节点数量与各自ID,并打印相应的问候语句[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值