使用Environment Module设置运行环境

module安装和modulefile的使用 软件下载地址: • https://github.com/cea-hpc/modules/releases/• 安装命令 • apt install tclsh tcl8.6-dev (所有节点都要安装)• ./configure --prefix=/opt/software/module (共享存储目录下)• make• 环境变量设置,所有节点都需要设置此时安装完成后还是无法使用module命令加载环境变量:source /opt/software/module/init/bash。 阅读详情
“Environment module”(环境模块)是一组环境变量设置的集合。 module可以被加载(load)、卸载(unload)、切换(switch),这些操作会改变相应的环境变量设置,从而让用户方便地在不同环境间切换。 相比与将环境变量设置写入/etc/profile或者~/.bashrc,Environment module操作只影响当前用户的当前登录环境,不会因错误配置造成全局持续的破坏。 普通用户也可以自己编写module,具有很好的定制性。
Contents [hide]

    1 基本命令
        1.1 module命令列表
        1.2 查看可用模块avail
        1.3 查看已加载模块list
        1.4 加载模块load
        1.5 卸载模块unload
        1.6 切换模块switch
        1.7 卸载所有已加载的模块purge
        1.8 显示模块说明whatis
        1.9 显示该模块内容display
    2 Pi集群module功能说明
        2.1 编译器
        2.2 MPI环境
        2.3 工具库
    3 在编译和提交作业时使用module
        3.1 编译时使用module
        3.2 LSF提交作业时使用module
    4 编写自定义module
    5 参考资料

基本命令
module命令列表

$ module

或者,

$ module -h

查看可用模块avail

$ module avail

查看已加载模块list

$ module list

加载模块load

$ module load MODULE_NAME

卸载模块unload

$ module unload MODULE_NAME

切换模块switch

$ module switch OLD_MODULE NEW_MODULE

等价于:

$ module unload OLD_MODULE; module load NEW_MODULE

卸载所有已加载的模块purge

$ module purge

显示模块说明whatis

$ module whatis MODULE_NAME

显示该模块内容display

$ module display MODULE_NAME

Pi集群module功能说明

<math>\pi</math>集群预设了如下module:

$ module avail
----------------- /lustre/utility/modulefiles ----------------
compiler-default    mpi-default
fftw/impi/3.3.3        fftw/openmpi/gcc/3.3.3 icc/13.1.1             
cuda/5.0               fftw/mpich2/gcc/3.3.3  fftw/openmpi/icc/3.3.3 impi/4.1.1.036
cuda-default           fftw/mpich2/icc/3.3.3  gcc/4.8.1              mkl/11.0.3    
openmpi/gcc/1.6.4      mpich2/gcc/1.4.1p1     pgi/13.9
openmpi/icc/1.6.4      mpich2/icc/1.4.1p1

模块命名规则是:

软件名/MPI库/编译器/版本

其中“MPI库”和“编译器”是命名时的可选项。 譬如,fftw/mpich2/gcc/3.3.3模块表示版本号为3.3.3的FFTW库,这个库支持在MPICH2上并行执行,FFTW和MPICH2库都使用GCC生成。 又如,openmpi/gcc/1.6.4模块表示版本号为1.6.4的OpenMPI库,这个库使用GCC生成。

这些模块按功能大致可分为编译器、MPI环境、工具库等,下面分别予以说明。
编译器

<math>\pi</math>集群上可以使用的编译器包括:GNU编译器(GCC)、Intel编译器、PGI编译器。 GCC-4.4.6编译器安装在操作系统目录下,能直接使用,不需要加载模块。 GCC-4.8.1、Intel编译器和PGI编译器需要加载相应模块。 编译器模块信息如下:
<thead> </thead> <tbody> </tbody>
模块     编译器版本     C编译器     C++编译器     F77编译器     F90编译器
gcc/4.4.6(默认)     4.4.6     gcc     g++     g77     gfortran
gcc/4.8.1     4.8.1     gcc     g++     g77     gfortran
icc/13.1.1     13.1.1     icc     icpc     ifort     ifort
pgi/13.9     13.9     pgcc     pgc++     无     无

<math>\pi</math>集群上的Nvidia CUDA开发环境版本为5.0,使用前请加载模块cuda-default或者cuda/5.0。
MPI环境

<math>\pi</math>集群可用的MPI库比较丰富,包括Intel MPI(IMPI)、MPICH2和OpenMPI。 按照mpicc、mpicxx、mpif77和mpif90使用的后端编译器,MPICH2与OpenMPI还可以再细分为不同版本。
<thead> </thead> <tbody> </tbody>
模块     版本     mpicc     mpicxx     mpif77     mpif90
impi/4.1.1.036     4.1.1     gcc     g++     g77     gfortran
        (mpiicc uses icc)     (mpicpc uses icpc)         
mpich2/icc/1.4.1p1     1.4.1p1     icc     icpc     ifort     ifort
mpich2/gcc/1.4.1p1     1.4.1p1     gcc     g++     g77     gfortran
openmpi/icc/1.6.4     1.6.4     icc     g++     g77     gfortran
openmpi/gcc/1.6.4     1.6.4     gcc     g++     g77     gfortran
工具库

<math>\pi</math>集群上的工具库模块包括:mkl(Intel数学函数库)、fftw(FFTW快速傅里叶变换库)。 用户可根据需要,载入响应模块。
在编译和提交作业时使用module

在集群上使用编译器和特定软件库时,往往需要在启动脚本中设置复杂的环境变量。 让用户手工维护这些设置不仅容易出错,而且用户到另一个集群工作时,又需要针对新环境逐一修改变量。 使用Environment module后,将环境准备的工作交给管理员,用户按需加载模块,用同一组命令就能在不同集群上完成环境设定的工作。

下面以Intel MPI程序的编译和提交为例,说明module的作用。
编译时使用module

Intel 编译器/MPI环境的设定包括一系列复杂的环境变量设定,需要运行脚本完成配置。 典型过程如下:

$ source /lustre/utility/intel/composer_xe_2013.3.163/bin/compilervars.sh intel64
$ source /lustre/utility/intel/mkl/bin/intel64/mklvars_intel64.sh
$ source /lustre/utility/intel/impi/4.1.1.036/bin64/mpivars.sh
$ mpiicc -o mpihello mpihello.c

使用module可以使环境设定的过程更清晰:

$ module load icc/13.1.1
$ module load mkl/11.0.3
$ module load impi/4.1.1.036  
$ mpiicc -o mpihello mpihello.c

LSF提交作业时使用module

使用LSF提交作业时,作业控制脚本中通常也会包含一系列环境设定脚本,譬如:

source /lustre/utility/intel/composer_xe_2013.3.163/bin/compilervars.sh intel64
source /lustre/utility/intel/mkl/bin/intel64/mklvars_intel64.sh
source /lustre/utility/intel/impi/4.1.1.036/bin64/mpivars.sh

这部分也可以用module指令替代。 注意,LSF默认使用/bin/sh解析作业脚本指令(没有module功能),且不传递$HOME、$USER、$SHELL、$LONGNAME以外的环境变量。 若要在LSF作业脚本中使用module,我们需要指定一个带有module功能的Shell(如/bin/bash),并正确设定MODULEPATH变量。 下面这个LSF作业片段供参考:

#BSUB -L /bin/bash

MODULEPATH=/lustre/utility/modulefiles:$MODULEPATH

module load icc/13.1.1
module load mkl/11.0.3
module load impi/4.1.1.036  

编写自定义module

用户可根据modulefile规则,自己编写所需的module。 用户自定义module的目录,加入MODULEPATH变量后方能生效。


参考资料

    “Environment Module” http://modules.sourceforge.net/
    “Environment Module: Manual Page” http://modules.sourceforge.net/man/module.html
    “Modules Software Environment” https://www.nersc.gov/users/software/nersc-user-environment/modules/

Environment Modules安装和使用教程 输入如下命令,查看当前包含的模块并加载用户模块。STEP1:yum源包含的,不可跳步。STEP2:安装GCC7.3.1。注意:使用系统是centos 7。获取yum源,这个yum源是被。下 ,创建7.3.1。 阅读详情

相关推荐

CAD - Environment Modules(module avail等)命令加速

CAD - Environment Modules(module avail等)命令加速 从算法的角度看,如何能将module avail的时间复杂度从O(n)降到O(1)呢?

IT基础架构 1836

Environment Modules工具介绍与使用

在Linux环境下,当同一个软件存在多个版本且多个版本都需要在不同的场景下或给不同人员使用时,配置环境变量是一个非常繁琐的过程。Environment Modules是一个专门管理环境变量和软件版本的工具,可以通过NFS共享的方式把多个软件的多个版本安装在NFS共享目录下,通过module load等命令可以非常方便地使用不同版本的软件。Environment Modules工具在EDA领域使用非常广泛。本文介绍Environment Modules的安装和基本使用方法。

richycn的博客 3416

environment-modules安装配置

environment-modules安装配置(RHEL 6.8)配置yum源(CentOS)安装environment-modules设置修改路径安装devtoolset (GCC)添加进environment-modules调用 配置yum源(CentOS) linux RHEL6.8配置yum yum: command not found 配置阿里yum源以及yum源安装出现ERROR14的...

Castellan的博客 4217

module-environment简单使用

前言 在linux下当对同一个编译器、运行库等有多版本的时候,如果每次编译都要去写上绝对路径就会很麻烦,使用module-environment来进行管理这些环境变量是比较方便的。 安装 我是直接使用linux自带的官方软件源下载的 sudo apt-get install module-environment 介绍 安装完成后,会默认在/usr/share/module目录下产生一系列...

jslove1997的博客 1万+

Environment Modules:管理您的Shell环境变量和别名-开源

环境模块软件包可通过modulefiles轻松动态地修改用户的环境。 通常会指示module命令更改或设置shell环境变量(例如PATH,MANPATH等),并在各种shell上定义别名。

别再手动抄表了!用MCGS触摸屏自动存数据到U盘,5分钟搞定报表导出

本文详细介绍了如何利用MCGS触摸屏实现工业数据自动记录与U盘导出,彻底告别传统手动抄表方式。通过昆仑通态MCGS系统,可构建零误差自动化报表系统,实现实时数据采集、双重备份及标准CSV格式导出,大幅提升数据准确性和工作效率。

weixin_30872157的博客 793

Linux-浅谈 module-environment

好累呀 推荐一个网址:http://modules.sourceforge.net/ module-environment   安装 sudo apt-get install environment-modules 初始化 根据默认的安装目录【在/usr/share/module】的init文件夹下中放了在各种系统下初始化这个程序的脚本,运行 source /usr/share...

JaYiFen 9744

FlinkCDC数据同步Bug——同步性能由于写入并行度限制无法提升问题的解决

使用FlinkCDC进行数据同步时,出现增量阶段写入并行度强制为1导致整体同步性能无法提升问题的解决方案

csdn_lan的博客 2080

Environment Modules常见问题解答:新手必知的15个实用技巧

Environment Modules是一款强大的环境管理工具,能够动态修改用户的环境变量,帮助开发者轻松切换不同版本的软件和工具。本文整理了15个新手必知的实用技巧,让你快速掌握Environment Modules的使用方法,提升工作效率。 ## 1. 快速查看可用模块:module avail 想要了解系统中可用的模块,可以使用`module avail`命令。它会列出所有可加载的模块及

gitblog_00482的博客 1018

ESP32S3编译micropython固件

编译ESP32芯片的micropython固件

m0_73253860的博客 2553

LangChain4j 开发

市场上主流的 Java 调用大模型的工具库有两种:LangChain4j 是一个 面向 Java 的开源框架,用于构建 基于大语言模型(LLMs) 的应用程序。它是 LangChain(Python 生态中非常流行的 LLM 应用框架)的 Java 实现,旨在让 Java 开发者能够轻松地集成和使用各种 LLM 服务,快速开发 智能聊天机器人、智能搜索、文档问答、Agent系统 等 AI 驱动的应用。官网文档:https://docs.langchain4j.dev/。引入依赖(JDK17 及以上): 构建

m0_62943934的博客 2794

go环境配置GO111MODULE出现go: unknown environment setting GO111MODULE=xxx的解决办法

当第一次设置GO111MODULE错误后,无论是查看go env状态还是重新设置GO111MODULE,都会报下面这个错误 解决办法: windows 平台: set GO111MODULE=auto linux/mac平台: export GO111MODULE=auto ...

xsy29000的博客 1万+

PCB板质量测试和PCB板

PCB板质量测试和板厂

weixin_51370842的博客 515

Environment Modules+Spack搭配使用,轻松安装各种软件

Spack+Environment Modules实现Linux轻松安装软件、自动配置环境变量,解决非root用户日常安装软件出现的权限问题、缺乏依赖、版本冲突的问题。

Sherry102的博客 2783

跟着团子学SAP PS:项目计划成本与项目预算设计思路

​在做SAP PS模块概览培训的时候,很多时候都会用到下面的一页PPT片子讲到项目计划成本与预算的关系,但真正这幅片子想表达的具体内容甚至大部分PS顾问也是无法阐明清楚的。 而SAP PS的设计其实是在丰富的项目管理学的基础上而开展的,所以今天从业务上结合SAP中的功能点讲一下项目成本计划及预算的逻辑。 在项目管理的十大知识领域中,项目成本管理主要是包括为使项目在批准的预算内完成而对成本进行规划...

Lucas1211的博客 3万+

交换机四种光互联技术:OIO、OBO、NPO与CPO

在过去几十年里,数据中心交换机主要依赖电信号通过铜线进行数据传输。然而,随着数据传输速率从100Gbps向400Gbps、800Gbps甚至1.6Tbps迈进,传统电互联(Electrical Input & Output, EIO)面临三大瓶颈:信号衰减、功耗激增和空间限制。例如,高速信号在长距离铜线传输中会产生严重的信号失真,迫使设计者加入数字信号处理器(DSP)来补偿信号衰减,这进一步推高了功耗和成本。此外,传统可插拔光模块的体积较大,限制了端口密度,难以满足现代数据中心对高带宽密度的需求。

网络技术联盟站 3135

修复vscode的go插件报错unknown environment setting GO111MODULE=ON

修复vscode的go插件报错unknown environment setting GO111MODULE=ON

m0_54172450的博客 1173

基于单片机的按键加1数码管显示(仿真+程序)5046

1、51+Proteus8.10;2、学习计数统计、数码管显示驱动;

理论结合实践,开启你的电子学习新方案! 1325

Go语言GO111MODULE的值设置错误的处理

Go语言中GO111MODULE的有三个 auto:当项目在$GOPATH/src外且项目根目录有go.mod文件时,开启模块支持 on:启用模块支持,编译时会忽略GOPATH和vendor文件夹,只根据 go.mod下载依赖 off:禁用模块支持,编译时会从GOPATH和vendor文件夹中查找包 我不小心把值设置错了 go env -w GO111MODULE=ON 提示错误 unknown environment setting GO111MODULE=ON 根据网上的方法: set GO111M

weixin_42523416的博客 4257

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

在mac下设置go env -w GO111MODULE=off报错does not override conflicting OS environment varia

开头先写解决办法 把 go env -w GO111MODULE=off 换成 export GO111MODULE=on export GO111MODULE=off 1.安装bee工具的时候报错 执行安装 go get go get -u github.com/astaxie/beego go get -u github.com/beego/bee 错误信息 go: github.com/beego/bee imports github.com/beego/bee/cmd imports git

treestory的博客 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【Django BUG 已解决】You must either define the environment variable DJANGO_SETTINGS_MODULE.....

Requested setting DEBUG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. 中文翻译: 请求的设置调试,但未配置设置。在访问设置之前,必须定义环境变量DJANGO_SETTINGS_MODULE或调用SETTINGS.

小旺的博客 7585

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Ubuntu Module安装与使用(自留

每个模块文件定义了如何设置环境变量(如。可以避免将重复修改bashrc文件。

weixin_51602307的博客 623

Environment Modules完全指南:如何动态管理Linux用户环境变量

Environment Modules是一款强大的工具,它能够帮助Linux用户动态修改和管理环境变量,让你在不同的工作场景中轻松切换环境配置。无论你是开发者、系统管理员还是普通用户,掌握Environment Modules都能极大提升你的工作效率。 ## 什么是Environment Modules? Environment Modules是一个用于动态修改用户环境的工具。它允许用户在会话

gitblog_00434的博客 333

解决Error: You must either define the environment variable DJANGO_SETTINGS_MODULE ...的问题

问题描述: 使用pycharm开发django项目,启动manage.py 测试时,会出现如下问题: Error: You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings 解决方法: 根据提示,有两种解决方法: 1、define the environment variable DJANGO_SETTIN

DaisyCold的博客 8299
上一篇: TI DSP
下一篇: extern "C"用法详解
Clef
博客等级 码龄12年 125粉丝 121原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值