当前位置: 首页 > news >正文

Donau集群MPI作业提交指南:sbatch --mpi参数深度解析

Donau集群MPI作业提交指南:sbatch --mpi参数深度解析

【免费下载链接】donau-slurm-wrappersdonau-slurm-wrappers provide some scripts for Slurm Users to submit and manage jobs in Donau cluster environment项目地址: https://gitcode.com/openeuler/donau-slurm-wrappers

前往项目官网免费下载:https://ar.openeuler.org/ar/

Donau集群环境下,donau-slurm-wrappers工具为Slurm用户提供了便捷的作业提交与管理脚本。其中,sbatch命令的--mpi参数是提交MPI作业的核心配置,直接影响作业的调度效率和资源分配。本文将从零开始,详细解析--mpi参数的使用方法、支持的MPI类型及实战案例,帮助新手快速掌握Donau集群MPI作业提交技巧。

📌 为什么需要--mpi参数?

在Donau集群中提交MPI作业时,系统需要明确MPI实现类型以正确配置通信环境。当脚本中包含mpirun命令时,必须通过--mpi参数指定MPI类型,否则会触发如下错误:

sbatch: error: Need to add sbatch options “--mpi" to specify mpi type

此外,mpirun命令前必须添加环境变量$CCS_MPI_OPTIONS,格式示例:

mpirun $CCS_MPI_OPTIONS <user_command>

📋 支持的MPI类型全解析

--mpi参数支持4种主流MPI实现,通过源码cmd/sbatch第637行的验证逻辑可知,合法值包括:

MPI类型适用场景典型应用
hmpi华为自研MPI实现高性能计算场景
openmpi开源MPI标准实现跨平台兼容性需求
intelmpiIntel平台优化版本英特尔CPU架构集群
mpich基础MPI参考实现学术研究与教学

⚠️ 注意:若指定非法类型,系统会提示:illegal cosched job type format, supported: hmpi, openmpi, intelmpi, mpich

🚀 快速上手:基本使用语法

命令行直接指定

sbatch --mpi=openmpi your_script.sh

脚本内通过#SBATCH指定

在批处理脚本开头添加:

#!/bin/bash #SBATCH --mpi=intelmpi #SBATCH --ntasks=4 # 任务数量 #SBATCH --nodes=2 # 节点数量(仅MPI作业支持) mpirun $CCS_MPI_OPTIONS ./your_mpi_program

🔍 高级配置:与其他参数的搭配使用

1. 资源分配组合

MPI作业通常需要指定节点数、任务数和CPU核心数:

sbatch --mpi=hmpi \ --nodes=2 \ --ntasks-per-node=8 \ --cpus-per-task=4 \ --partition=high_perf \ mpi_job.sh

2. 输出重定向与错误处理

sbatch --mpi=mpich \ --output=mpi_job_%J.out \ --error=mpi_job_%J.err \ --open-mode=append \ long_running_job.sh

其中%J会自动替换为作业ID,便于区分不同作业输出

📝 实战案例:完整MPI作业脚本

以下是一个提交OpenMPI作业的完整示例(保存为mpi_example.sh):

#!/bin/bash #SBATCH --job-name=mpi_demo #SBATCH --mpi=openmpi #SBATCH --nodes=2 #SBATCH --ntasks=16 #SBATCH --cpus-per-task=2 #SBATCH --time=01:30:00 #SBATCH --partition=compute #SBATCH --output=demo_%J.out # 加载MPI环境(根据集群配置调整) module load openmpi/4.1.5 # 执行MPI程序 mpirun $CCS_MPI_OPTIONS ./mpi_hello_world

提交命令:

sbatch mpi_example.sh

❓ 常见问题解决

Q1: 忘记添加$CCS_MPI_OPTIONS导致提交失败?

A1:错误提示为:Need to add mpi option $CCS_MPI_OPTIONS in front of the user_command,需修改脚本中mpirun行为:

# 错误 mpirun ./your_program # 正确 mpirun $CCS_MPI_OPTIONS ./your_program

Q2: 如何查看集群支持的MPI版本?

A2:通过sinfo命令查看节点信息,或联系集群管理员获取环境模块列表:

module avail mpi

Q3: 多节点MPI作业 stuck 在启动阶段?

A3:检查:

  1. --nodes--ntasks-per-node参数是否匹配
  2. 网络配置是否正确(可通过--nodelist指定已知可用节点)
  3. MPI类型是否与集群预装版本一致

📚 扩展学习资源

  • 官方脚本源码:cmd/sbatch
  • Slurm参数完整说明:sbatch --help
  • Donau集群用户手册:联系管理员获取

通过本文的讲解,您已经掌握了Donau集群中使用sbatch --mpi参数提交MPI作业的核心知识。合理配置MPI类型和资源参数,能显著提升并行计算效率。如果在使用过程中遇到问题,建议先检查参数组合是否符合cmd/sbatch中的验证规则,或参考错误提示进行调试。

【免费下载链接】donau-slurm-wrappersdonau-slurm-wrappers provide some scripts for Slurm Users to submit and manage jobs in Donau cluster environment项目地址: https://gitcode.com/openeuler/donau-slurm-wrappers

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1133569/

相关文章:

  • python使用 caffe Python调Caffe?醒醒吧!TensorFlow都开源到1.0了,你还在用老古董
  • AnythingLLM:企业级私有知识库的微服务架构设计与向量化引擎解决方案
  • EndBASIC 0.14 发布:新增多媒体功能,为迈向 1.0 版本扫清障碍!
  • llmfit:一条命令,找出你的硬件能跑哪个大模型
  • App Inventor 2 数学积木完全指南:从加减乘除到位运算,一篇搞定所有计算需求
  • Java SE基础课程(上)-Day01笔记总结(B站heima阿玮老师)
  • 小程序商家后台大图片无损上传发布
  • RePKG深度剖析:Wallpaper Engine资源解包与纹理转换的终极解决方案
  • 数据备份安全实战:加密存储与完整性校验技术详解
  • 五个适配器:DeepFlux 如何把 Eino 接进 DDD 架构
  • 【LeetCode刷题日记】37.解数独
  • 微软Frontier Company深度解析:25亿美元FDE部署革命如何重塑AI商业化格局
  • Windows计划任务权限提升漏洞挖掘与防御实战指南
  • LiveView 的 LiveComponent:比 React 组件更轻,但我一开始真的把它用错了
  • YOLO目标检测四大改进策略:毕业设计与论文写作全流程指南
  • 2026年英语老师必备:高效单词批改APP盘点与实操指南
  • YOLOv11火焰识别项目全流程实战:从环境搭建到GUI部署
  • 力扣1007:多米诺旋转最少次数解法
  • 什么是大模型?一文读懂大模型的基本概念
  • 让 Claude Code 变成 24 小时全自动开发引擎!VIBE-Claude-Plugin 开源实战
  • 茄子小说写作助手 v2.2.0 技术解析:256 个 AI 写作工具的产品架构与实现思路
  • 如何让AI真正用好你的工具:Claude Code
  • 4-20mA电流环技术与XTR116工业传感器设计
  • OOTK 航天动力学库详解
  • 易信easyMarkets综合评析:平台稳定性如何影响用户体验
  • llama.cpp|实战系列(1)——资源需求、架构背景与版本匹配表
  • Windows更新反复失败弹出修复提示框,该怎么排查解决
  • 想在鞍山找靠谱家政不用发愁 正规机构挑选实用指南建议收好
  • Kuxiu D5 Qi2.2 充电底座主动冷却功能出色,价格实惠或成 Qi 充电新选择
  • GPT-5.6三大模型全曝,定档7月7日?