学习
实践
活动
专区
工具
TVP
写文章
专栏首页自学气象人【科研利器】slurm作业调度系统(五)

【科研利器】slurm作业调度系统(五)

大家好哇!上一期我们给出了一些在slurm作业系统中常见的报错提示的含义及解决方法。今天我们主要来看看如何在超算中配置运行环境。

1

引言

一般的超算上面已经配置了基本的运行环境,如 intel 编译器、python 解释器等等。但超算上的用户之多,我们在进行自己的作业任务时,难免会用到超算上没有具备的环境,又或者当前超算上的软件版本已经老旧,不适合我们的任务了。这时候我们便会用到本文所将介绍的内容,配置任务的运行环境。所需软件的安装在这里不做具体介绍,文章主要针对如何调用超算中的软件来选择最合适的编程环境和运行环境做一些分享。

2

查看超算中可用的的module

在我们运行一个作业任务之前,首先需要查看任务中用到的软件所需要的运行环境是否满足,否则可能无法使用该软件或者使用错误的版本。就好比如跑一个 wrf ,如果你没有设置 netcdf 这个库的环境话,跑起来肯定会报错。在超算(服务器中)中可以通过系统命令 module 来快速查看当前服务器中所有可用的 module 。

module avail #查看当前服务器中所有可用的module

3

查看超算中已经加载的module

要注意的是,并不是服务器中可用的 module 满足软件运行的需求,软件就可以运行啦。你必须要把它加载到你的个人账户中去,这样软件才能在你自己的账户下成功跑起来。查看自己账户下当前已经加载的所有 module 可用下面的命令。

module list #查看自己账户下当前已经加载的所有 module

4

添加需要的module

执行完上面一步之后,如果个人账户下的环境没能满足软件的运行环境配置,但服务器中存在可用的 module,此时,可以从系统可用的 module 中选出我们需要的进行添加。比如输入 module avail 命令后给出的 module 中有我们需要的 netcdf/4.5.6,那么可用下面的命令进行添加。如果不写具体版本的话,服务器会自动添加系统默认的软件版本。

module load netcdf/4.5.6
#注意,有的服务器中是 module add netcdf/4.5.6

5

删除和替换module

有的时候,我们为了避免自己所添加的某个 module 与系统自带的软件之间发生冲突,会选择性的删除一个模块(module)或者全部module,只留下自己添加的module。这时候可用借助下面的命令实现。要注意,一个模块删除之后,你将无法直接使用与之相关的命令。对应软件的执行目录无法被直接访问,或者是还原成系统默认的版本。而且对于同一软件的不同版本,或者是接口相同的不同软件,我们也不能同时载入两个。当我们载入其中一个后,再载入另一个就会报错。

module unload module_name #删除module_name这一个模块
#注意,有的服务器中是 module remove module_name ,等价于 module unload module_name
module purge #删除所有已经加载的module

此外,我们也有更加便捷的方法来直接用一个 module 替换掉另一个module。

module switch mod1 mod2 # 删除mod1并导入mod2
#注意,有的服务器中是 module swap mod1 mod2

6

在slurm脚本中使用module

前面我们已经说过通过 module 仅是将软件加载到当前的账户下。那我们通过 slurm 脚本提交任务时,会分配到不同的计算节点上,并非我们的个人账户所在的节点。对于这种情况,方便的做法是直接将 module 命令这一行写在slurm脚本中,随着它的运行自动在分配到的节点中加载所需 module 。

#!/bin/bash
#SBATCH -J test
#SBATCH -p cpu
#SBATCH -t 5:00

module load netcdf/4.5.6

./wrf.exe

7

为系统设置默认module

一般当我们登入服务器之后,系统会自动为我们加载一些 module ,以保证用户的基本操作。如果我们想对其进行修改,比如去掉一些 module 或添加一些 module ,那么我们可以直接通过 vim ~/.bash_profile 命令完成修改,只需在该文件的最后添加前面提到的 module load 、module remove 等命令。

掌握了以上内容以后,我们就可以在同一软件的不同版本之间切换,也可以在同一功能的不同软件之间切换,以此来选择最合适的编程环境和运行环境啦。

参考资料:

https://bicmr.pku.edu.cn/~wenzw/pages/env.html

文章分享自微信公众号:
自学气象人

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

作者:夏子涵
原始发表时间:2021-11-29
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 【科研利器】slurm作业调度系统(四)

    “ 大家好哇!上一期我们介绍了作业脚本中两个非常重要的概念Partition 和 QoS 进行介绍,并给出一些实用技巧。今天呢,我们给出一些在slurm作业系...

    自学气象人
  • 【科研利器】slurm作业调度系统(一)

    大家好哇!随着时代的不断发展,我们在做项目时所使用的数据也越来越大。当进行计算量很大的任务时,我们不可避免地会使用超级计算机(以下简称超算)来帮助我们完成。常见...

    自学气象人
  • 【科研利器】slurm作业调度系统(二)

    “ 大家好哇!前面我们对slurm作业调度系统进行了一个简单的介绍【科研利器】slurm作业调度系统(一),今天我们继续对如何用slurm提交批处理任务以及使用...

    自学气象人
  • 【科研利器】slurm作业调度系统(三)

    “ 大家好哇!上一期我们介绍了提交批处理任务的整个流程,包括查看资源、编写脚本、提交作业、查询作业信息等内容。今天呢,我们主要就作业脚本中两个非常重要的概念 P...

    自学气象人
  • CONQUEST 编译安装指南 Slurm 篇

      在实际的生产环境中,使用单用户模式直接运行命令的机会不是很多,通常是采用提交作业任务给集群计算的方式。这样一来既能节约资源和时间,又能申请到更大规模的计算资...

    zhonger
  • slurm学习笔记(一)

    中文文档:https://docs.slurm.cn/users/shou-ce-ye

    种花家的奋斗兔
  • Slurm学习笔记(二)

    scontrol show partition显示全部队列信息,scontrol show partition PartitionName或 scontrol ...

    种花家的奋斗兔
  • Slurm集群资源管理器的简单使用

    Slurm是一个开源,容错,高度可扩展的集群管理和作业调度系统,适用于大型和小型Linux集群。主要有三个功能:

    生信编程日常
  • 美国为何封杀中国超算!一文读懂超级计算机的应用、架构和软件知识

    2019年5月,美国商务部将华为列入了出口管制的“实体清单”,华为被推向了这波中美对抗的风口浪尖。紧随其后,6月,特朗普政府又对其他几家中国机构实行了限制出口政...

    PP鲁
  • SLURM使用教程

    我现在经常在实验室服务器上跑程序,而老师要求我们使用SLURM作业管理系统,网上资料零零散散,这篇文章算是一个简单的汇总

    mathor
  • 服务器集群任务调度系统大比拼!

    普通刀片节点配备 两颗 Intel(R) Xeon(R) CPU E5-2692 v2 @ 2.20GHz 共24物理核,内存为64G 调度系统为 Slurm...

    生信技能树
  • 动态 | MSRA联合四大高校,共建新一代AI开放科研教育平台

    微软亚洲研究院联手北京大学、中国科学技术大学、西安交通大学和浙江大学四所国内顶级院校,共建新一代人工智能开放科研教育平台,成立仪式于5月22日在MSRA举行。

    AI科技评论
  • 专栏 | 百度深度学习平台PaddlePaddle框架解析

    机器之心专栏 来源:百度PaddlePaddle PaddlePaddle 是 2016 年 8 月底百度开源的深度学习平台,并且在短时间内迅速引发全球开发热度...

    机器之心
  • 西南交通大学铁路运输组织与优化郭孜政教授团队招募科研助理(长期招聘)

    西南交通大学 铁路运输组织与优化 郭孜政教授团队 招募科研助理(长期招聘) ✦✦ 郭孜政教授 西南交通大学交通运输与物流学院教授、博导,团队负责人。具有轨...

    用户1621951
  • 「开源」数据同步ETL工具,支持多数据源间的增、删、改数据同步

    一、开源项目简介 bboss数据同步可以方便地实现多种数据源之间的数据同步功能,支持增、删、改数据同步,本文为大家程序各种数据同步案例。 二、开源协议 使用Ap...

    IT大咖说
  • Volcano火山:容器与批量计算的碰撞

    Kubernetes 是当前非常流行的容器编排框架,在其发展早期重点以微服务类应用为主。

    CNCF
  • 第一性原理计算框架 CONQUEST 的安装与测试

    随着计算机的计算能力和运行规模的不断提升,基于第一性原理计算理论的计算材料学科越来越得到重视。但是一般来说这样的模拟对一个包含成千上万的原子、电子而言,所需的计...

    zhonger
  • 生信自动化流程搭建 06 | 指令

    他们必须在过程的顶部进入人体,在任何其他声明块(即input,output等),并具有以下语法:

    白墨石

扫码关注腾讯云开发者

领取腾讯云代金券