概述
英特尔? MPI 库可为群集应用程序的开发人员和用户提供灵活的、能使用多架构的消息传递接口。它还能提供 MPI-2 标准功能的高性能实现。
Direct Access Programming Library(DAPL)架构可为软件开发人员提供这样一种通信接口,他们可以通过该接口在各种网络架构上轻松地测试和运行其应用程序。
特性
构建单一版本的消息传递接口(MPI)应用程序,该程序可在多个网络架构上运行,并可在降低开发和验证成本的同时,保持高执行性能。
选择英特尔 MPI 库的 10 个理由
1、对于所有主要的集群配置,只需要一个 MPI 库来开发、测试和分布 MPI 应用程序。
2、获得 MPI-2 标准的高性能实现。
3、通过面向所有主要网络配置的最常见的多架构支持获得可移植性。
4、提供标准多架构接口 [DAPL],未来添加网络架构时,无需更改应用程序。
5、在高级多核和共享内存处理器 (SMP) 配置上提供灵活的多互联支持,如 InfiniBand*、TCP/IP1 和"Shared Memory"。
6、便于安装,且附有内容丰富的文档及可靠的支持。
7、支持大多数主要的 Linux* 平台和一系列编译器。
8、方便调用所选的并行调试器。
9、借助英特尔 跟踪分析器和跟踪采集器的增强性能分析接口,利用出色的调试工具所带来的优势。
10、免费的运行时环境套件,可用于预安装或重新分布。
英特尔? MPI 库支持多硬件架构
通过 Direct Access Programming Library (DAPL) 方法来提供加速的多架构层,以实现快速互联(图 1)。
支持 TCP、共享内存和许多基于 DAPL 的互联,包括 InfiniBand、Myrinet* 及其他。
必要时,采用快速共享内存通道和套接字回退。即使互联选择失败,也可避免执行失败。这尤其适用于成批计算。对于这种情况,将自动选择套接字接口作为备份(图 1)。

图1. 英特尔? MPI 库和基于 DAPL 的互联
免费的运行时环境套件
获得运行使用英特尔? MPI 库开发的独立软件开发商应用程序所需的软件工具。此套件包括对 MPD2 守护程序和附属实用程序的支持、共享 (.so) 库,发行说明和“入门”指南。
方便的运行时架构选择
使多平台支持更加易于实现且经济实惠。不论是用户还是开发人员,只要采用了英特尔? MPI 库就可以方便地在运行时选择架构。
此版本中的新增功能
新的通用多架构设备
智能的架构选择 - 无需进行额外的环境设置,即可自动选择 MPI 进程间最快的传输协议,使用起来更加简单。完全可配置的设备和通过环境变量实现的回退选择。
建立了增强的动态连接 - 引入惰性模式连接(只在需要时建立连接),从而减少内存占用量。
扩大了两阶段通信缓冲区 - 通过只分配必要的通信缓冲区内存空间,减少内存消耗。
增强的应用程序性能
DAPL 内节点通信模式 - 通过有选择地使用多核或 SMP 节点内部的 DAPL,实现大量消息的带宽优势。
进一步优化的集合操作 - PI_Reduce、MPI_Allreduce、MPI_Alltoall、MPI_Alltoallv、MPI_Broadcast 和其他的超强优化版。
增强的进程锁定 - 英特尔多核和 SMP 节点上的性能实现最大化提供灵活的进程锁定。
可伸缩的工作启动协议 - 此版本大大缩短了应用程序的启动时间。
在不使用 -fpic 标志的情况下构建的静态库版本 - 为静态链接的应用程序提供更佳性能。
新增安装程序功能
支持分布式安装选项,通过此选项可在一次操作中分别在集群的头节点和计算节点上完成英特尔? MPI 库 3.0 的安装。
提高了互操作性
MPI_THREAD_MULTIPLE 级别上的其他线程安全库 - MPI 应用程序进程可以是多线程的,多线程可使 MPI 调用不受限制。
与英特尔? MPI 库 2.0 的向后二进制兼容性 - 使用英特尔? MPI 库 2.0 编译的应用程序和对象可与英特尔? MPI 库 3.0 运行时库结合使用。
增强的多宿主环境处理能力 - 简化了作业和通信管理,并在使用每个节点的多个网络接口时提升了性能。
扩展的编译器支持
英特尔? C++ 编译器 9.1 Linux 版
英特尔? Fortran 编译器 9.1 Linux 版
GNU Fortran 95 编辑器 4.0 及更高版本
扩展的操作系统支持
支持 SLES* 10
增强的英特尔工具支持
英特尔? 跟踪分析器和跟踪采集器 7.0 – 与英特尔? MPI 库 3.0 结合使用时,提供增强的系统网络活动分析能力,并新增了诸如跟踪文件比较和性能计数器等功能。
英特尔? 数学核心函数库集群版(英特尔? MKL 集群版)9.0 - 将英特尔? MKL 集群版与英特尔? MPI 库结合使用,获得最佳性能。
英特尔? MPI 性能指标评测 3.0
增强的调试器支持
英特尔? 调试器 8.1-23、9.1-23 支持 - 在使用英特尔? MPI 库的并行应用程序上运行英特尔命令行调试器,可提高生产效率。
Etnus Totalview* 6.8 及更高版本
Allinea DDT* 1.9.2 及更高版本
与作业调度程序的集成
面向 Linux 的 Parallelnavi* NQS* 2.0L10 及更高版本
Parallelnavi for Linux Advanced Edition 1.0L10A 及更高版本
兼容性
基于集群的多架构功能
开发能在多种网络架构上高效运行的 MPI 代码。英特尔? MPI 库在基于英特尔? 处理器的集群上运行,包括:
基于 IA-32 处理器的系统或兼容的系统
基于安腾? 2 的系统
基于 64 位英特尔? 至强? 处理器的系统或兼容的系统
英特尔? MPI 库专门通过 DAPL、套接字和共享内存接口与互联架构一起使用。提供这些接口的互联和计算服务器的示例如下表中所列。

MPI-2 标准一致性和可移植性
确保依照阿冈国家实验室的 MPI-2 规范的 MPICH-2 实现以完全符合 MPI-2 标准,且支持多互联解决方案。英特尔? MPI 库的目标是针对业界普遍采用的 MPI-2 ABI 标准。支持所有 MPI-1 功能以及众多 MPI-2 功能,其中包括:
文件 I/O
主动目标单向通信
被动目标单向通信
通用请求
全线程支持
与其他英特尔? 软件开发产品一起使用
充分利用工具投资 - 英特尔? MPI 库可与 英特尔? 集群工具配合使用,并支持英特尔? C++ 和面向 Linux 的 Fortran 编辑器 9.0 及更高版本。
借助英特尔? 跟踪分析器和跟踪采集器支持性能分析和调谐。
提高 Fortran 工具与 MPI_IN_PLACE 参数及 MPI_Type_create_darray/subarray 库调用的互操作性。
ROMIO* 支持(高性能、可移植的 MPI-IO 实现)
充分利用紧密集成了 ROMIO 组件的所有磁盘。
主导并行调试器中的消息队列浏览支持
Allinea Distributed Debugging Tool (DDT) 支持,1.9.2 及更高版本
Etnus TotalView* 调试器支持,8.8 及更高版本
支持最新的 Linux* 操作系统
英特尔? MPI 库现已提供对新操作系统(包括 Red Hat Enterprise Linux 4.0 和 SUSE Linux Enterprise Server* 10)的增强支持。
系统要求
主机和目标系统

1 TCP - 传输控制协议,这是面向会话连接的流传输协议,可提供序列化、错误检测和更正、流控制、拥塞控制和多路复用等服务。IP - Internet 协议。
2 MPD 是多处理守护程序协议的缩写。该守护程序在集群的每个节点上运行。这些 MPD 将集群的节点配置成能够运行 MPI 程序的“虚拟计算机”。