Skip to content

MPI 入门:oneAPI 安装与第一个并行环境 ​

摘要:多节点并行计算的第一步是装好 MPI 环境。本文用离线安装包(内网交付场景最常见的方式)完整走一遍 Intel oneAPI Base + HPC Toolkit 的安装、环境加载和验证,全程可复现。

1. 为什么需要 MPI ​

单机多核可以用 OpenMP 或线程,但跨节点必须靠消息传递——这就是 MPI(Message Passing Interface)。HPL、NCCL 以外的传统 HPC 应用、以及多数科学软件都跑在 MPI 上。

本文环境:Intel oneAPI(内含 Intel MPI + MKL)。离线包体积大(Base 约 3.5 GB,HPC 约 1.3 GB),内网交付通常用离线安装。

2. 准备安装包 ​

bash
# 两个离线包(放到 /opt/inteloneapi/ 下)
l_BaseKit_p_2021.1.0.2659_offline.sh    # Base Toolkit
l_HPCKit_p_2021.1.0.2684_offline.sh     # HPC Toolkit(含 MPI)

为什么必须装两个

Base Toolkit 提供编译器、MKL 等基础组件;HPC Toolkit 提供 Intel MPI。只装 HPC 不装 Base,MPI 编译链接会缺基础库。

3. 静默安装(无界面) ​

bash
# Base Toolkit
sh l_BaseKit_p_2021.1.0.2659_offline.sh -a --cli

# HPC Toolkit(必须与 Base 安装到同一路径,否则 MPI 找不到编译器)
sh l_HPCKit_p_2021.1.0.2684_offline.sh -a --cli
  • -a:接受协议
  • --cli:命令行界面(服务器无图形环境必须用)
  • 默认安装到 /opt/intel2021/oneapi(也可在交互中指定目录)

安装完成后目录结构:

text
/opt/intel2021/oneapi/
├── compiler/latest      # DPC++/C++ 编译器
├── mkl/latest           # 数学核心库
├── mpi/latest           # Intel MPI
└── setvars.sh           # 环境变量入口

4. 加载环境(两种方式) ​

4.1 方式一:source setvars.sh(推荐) ​

bash
source /opt/intel2021/oneapi/setvars.sh intel64 --force

4.2 方式二:module 方式 ​

bash
# 生成 modulefiles(一次性)
sh /opt/intel2021/oneapi/modulefiles-setup.sh
# 输出:oneAPI modulefiles folder is here: "/opt/intel2021/oneapi/modulefiles"

# 使用时加载
module load mpi/2021.1.1

5. 验证环境 ​

bash
# 1) mpirun 能找到
which mpirun
# /opt/intel2021/oneapi/intelpython/latest/bin/mpirun

# 2) 编译器能找到
which mpicc
# /opt/intel2021/oneapi/compiler/latest/.../mpicc

# 3) 版本
mpirun --version
# Intel(R) MPI Library for Linux* OS, Version 2021.x

6. 第一个命令 ​

bash
# 查看本机核数与 CPU 信息
lscpu | grep -E "^CPU\(s\)|Core|Socket|Model name"

7. 常见踩坑 ​

7.1 mpirun: command not found ​

原因:新 shell 没执行 source setvars.sh(或没 module load)。MPI 不在 PATH 里。

bash
source /opt/intel2021/oneapi/setvars.sh intel64 --force

7.2 多机运行连不上节点 ​

  • 先确认节点间 SSH 免密已配置
  • hostfile 中每行一个节点名/地址
  • 网络 fabric 指定(见下一篇文章)

7.3 --force 参数的作用 ​

setvars.sh 在非交互/多版本环境可能拒绝覆盖已有变量,--force 强制设置。建议固定加上。

8. 下一步 ​

环境就绪后,用 MPI Hello World 实战 跑通"编译 → 单机多进程 → 多机"全流程。

AI-HPC 智算超算专家 · Contact: openaihpc@gmail.com