Skip to content

编译及运行环境

本集群系统安装了多种编译环境及应用,主要包括编译器、调试器、mpi并行开发环境及数学库等四部分,为方便使用,集群软件环境通过modules工具管理环境变量,可以使用module命令设置以及查看所需要的环境等。

一、module 常用命令

module 常用命令说明
module av查看可用模块
module list查看当前已加载模块
module load modulefile… 或 module add modulefile…加载模块
module unload modulefile… 或 module rm modulefile…卸载模块
module switch modulefile2 或 module swap modulefile2切换模块
module purge清空已经加载的全部模块
module show modulefile 或 module display modulefile显示模块内容

查看可用软件

查看系统可用软件,执行命令:

shell
module av

即可列出用户可使用的所有软件名称。系统安装的软件主要分为两类:

(1)安装在共享存储/public/software/路径下的软件,包含数学库、MPI 并行库、工具等;

(2)安装在节点本地磁盘/opt 下的软件,包含编译器等。

软件列出名称规则: “类别/软件名/版本号/[编译器]”。

加载/卸载软件环境

(1)设置某软件的环境变量只需要使用 module load 命令加载相应环境变量即可。例如,以昆山中心为例,加载 hdf5 库,输入命令:

shell
module load mathlib/hdf5/1.8.20/intel

即加载了 intel-mpi 编译器编译的 1.8.20 版的 hdf5 库环境。

(2)查看已经加载上的软件环境,使用命令:

shell
module list

(3)卸载不需要的软件环境,使用命令:

shell
module rm mathlib/hdf5/1.8.20/intel

注意事项

由于集群提供的计算环境中,有些存在依赖关系,而有些是存在冲突关系的,因此在使用 module 加载环境时如果出现:

(1) 依赖关系报错:

Module 'AAAA/AAA/AAA' depends on one of the module(s) 'BBBB/BBB/BBB'

需先加载 module load BBBB/BBB/BBB/后,再加载 module load AAAA/AAA/AAA;

(2) 冲突关系报错:

Module ' AAAA/AAA/AAA ' conflicts with the currently loaded module(s) ' CCCC/CCC/CCC '

如果确定要加载 AAAA/AAA/AAA 环境,需要先卸载 module rm CCCC/CCC/CCC 环境。

二、软件编译案例

本部分内容主要介绍一些常用软件在集群上的编译过程。

Anaconda 软件安装教程

  1. 安装编译 Anaconda3

(1)下载安装程序 Anaconda3-2020.07-Linux-x86_64.sh。

(2)创建目录 /public/home/username/soft/Anaconda3,将安装程序移至此目录。

(3)进入 Anaconda3 目录,运行命令:

bash Anaconda3-2020.07-Linux-x86_64.sh –u  ## -u:不自动创建目录

Welcome to Anaconda3 2020.07

(4)In order to continue the installation process, please review the license agreement.

Please, press ENTER to continue(直接ENTER)
>>>

(5)Do you accept the license terms? [yes|no]

[no] >>> yes(输入yes)

(6)Anaconda3 will now be installed into this location:

/public/home/username/anaconda3(默认目录)

- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below

[/public/home/username/anaconda3] >>> /public/home/username/soft/Anaconda3(更改安装目录)
PREFIX=/public/home/username/soft/Anaconda3
Unpacking payload ...
Collecting package metadata (current_repodata.json): done                                                                                                                               
Solving environment: done

(7)下一步:

Preparing transaction: done
Executing transaction: done
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes(输入yes)
    


==> For changes to take effect, close and re-open your current shell. <==

If you'd prefer that conda's base environment not be activated on startup, 
set the auto_activate_base parameter to false: 

conda config --set auto_activate_base false

Thank you for installing Anaconda3!

===========================================================================

Working with Python and Jupyter notebooks is a breeze with PyCharm
Professional! Code completion, Notebook debugger, VCS support, SSH, Docker,
Databases, and more!

Get a free trial at: https://www.anaconda.com/pycharm
  1. 配置环境

(1)安装完毕,执行命令:

shell
source ~/.bashrc

(2)查看 conda 安装是否成功,执行命令:

shell
which conda

出现 conda 路径,则表示安装成功: ~/soft/Anaconda3/bin/conda

(3)若没有搜到 conda 路径,需要配置 conda 环境变量:

shell
vi ~/.bashrc

(4)添加语句:

shell
export PATH=/public/home/username/soft/Anaconda3/bin:$PATH
  1. 测试 Anaconda3

测试 Anaconda3,执行 python3

shell
python3
Python 3.8.3 (default, Jul  2 2020, 16:21:59) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

FFTW-3.3.8 软件安装教程

以昆山中心为例

  1. 安装编译

(1)下载安装程序 fftw-3.3.8.tar.gz。

(2)分别创建可供编译的 FFTW 单精度和 FFTW 双精度安装目录如下:

/public/home/username/soft/fftw/fftw-3.3.8-single

/public/home/username/soft/fftw/fftw-3.3.8-double

(3)将安装程序在 /public/home/username/soft/fftw 目录下执行命令:

shell
tar –zxvf fftw-3.3.8.tar.gz  #解压

(4)命令行输入下述代码加载所需环境:

shell
module rm mpi/hpcx/2.7.4/gcc-7.3.1  #将系统默认编译器关闭
module load compiler/intel/2017.5.239  #加载Intel编译器
module load mpi/hpcx/2.4.1/intel-2017.5.239  #加载Intel并行mpi

(5)进入 /public/home/username/soft/fftw/fftw-3.3.8 目录,依次运行命令:

shell
./configure 
--prefix=/public/home/jsyadmin/fftw/fftw-3.3.8-single 
--with-gnu-ld --disable-fortran --enable-shared --enable-static --enable-float --enable-sse --enable-sse2 --enable-avx --enable-fma --enable-mpi --enable-threads --enable-openmp

make
make install
make clean

(6)进入 /public/home/username/soft/fftw/fftw-3.3.8 目录,依次运行命令:

shell
./configure --prefix=/public/home/jsyadmin/fftw/fftw-3.3.8-double --with-gnu-ld --disable-fortran --enable-shared --enable-static --enable-sse2 --enable-avx --enable-fma --enable-mpi --enable-threads --enable-openmp

make
make install
  1. 配置环境

(1)更新环境变量:

shell
vi ~/.bashrc 
export PATH=/public/home/cyli/soft/fftw/fftw-3.3.8-double/bin:$PATH
export LD_LIBRARY=/public/home/cyli/soft/fftw/fftw-3.3.8-double/lib:$LD_LIBRARY
source ~/.barshrc  #刷新环境变量

(2)确认是否安装成功,执行命令:

shell
fftw-wisdom –-version

gcc-8.4.0 软件安装教程

以昆山中心为例

  1. 安装编译

(1)下载 gcc-8.4.0.tar.gz 安装包,并将其拷贝至目录 /public/home/username/sourcecode 下。

(2)在 /public/home/username/sourcecode 目录下执行命令:

shell
tar –zxvf gcc-8.4.0.tar.gz  #解压

(3)进入解压目录 /public/home/username/sourcecode/gcc-8.4.0,创建编译目录:/public/home/username/sourcecode/gcc-8.4.0/build

(4)下载安装 gcc 所需的库。在目录 /public/home/username/sourcecode/gcc-8.4.0 下执行命令:

shell
./contrib/download_prerequisites

(5)配置编译环境。在目录 /public/home/username/sourcecode/gcc-8.4.0/build 下执行命令:

shell
module purge  #将系统默认环境变量去掉

../configure --prefix=/public/home/username/soft/gcc-8.4.0 \
--enable-languages=c,c++,fortran \
--enable-threads=posix \
--enable-shared \
--disable-checking \
--disable-multilib \
--with-system-zlib \
--with-arch_32=i686

(6)在目录 /public/home/username/sourcecode/gcc-8.4.0/build 下进行编译:

shell
make -j 20  #20核进行编译

(7)在目录 /public/home/username/sourcecode/gcc-8.4.0/build 下进行安装:

shell
make install
  1. 配置环境

(1)更新环境变量:

shell
vi ~/.bashrcexport PATH=/public/home/username/soft/gcc-8.4.0/bin:$PATHexport C_INCLUDE_PATH=/public/home/username/soft/gcc-8.4.0/include:$C_INCLUDE_PATHexport CPLUS_INCLUDE_PATH=/public/home/username/soft/gcc-8.4.0/include:$CPLUS_INCLUDE_PATHexport LD_LIBRARY_PATH=/public/home/username/soft/gcc-8.4.0/lib64:$LD_LIBRARY_PATHexport LIBRARY_PATH=/public/home/username/soft/gcc-8.4.0/lib:$LIBRARY_PATHsource ~/.bashrc   #刷新环境变量

(2)确认路径加载成功,执行命令:

shell
vi ~/.bashrc
export PATH=/public/home/username/soft/gcc-8.4.0/bin:$PATH
export C_INCLUDE_PATH=/public/home/username/soft/gcc-8.4.0/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/public/home/username/soft/gcc-8.4.0/include:$CPLUS_INCLUDE_PATH
export LD_LIBRARY_PATH=/public/home/username/soft/gcc-8.4.0/lib64:$LD_LIBRARY_PATH
export LIBRARY_PATH=/public/home/username/soft/gcc-8.4.0/lib:$LIBRARY_PATH
source ~/.bashrc   #刷新环境变量

出现 gcc 路径: ~/soft/gcc-8.4.0/bin/gcc。

Gromacs2021 软件安装教程

以昆山中心为例

  1. 加载环境

(1)gcc 安装

集群自带 gcc-4.8,故无需安装,若需升级安装,参考帮助文档索引 -> 编译及运行环境 -> 软件安装示例 -> GCC。

(2)cmake 安装

命令行输入 cmake -version 查看版本,若低于 3.13 需要重新安装,如下:

上传源码包 cmake-3.20.5.tar.gz 至 /public/home/username/sourcecode 目录下,并执行以下命令:

shell
tar zxvf cmake-3.20.5.tar.gz  #解压
cd cmake-3.20.5  #进入目录
./bootstrap  #编译&安装
make
make install

如果提示权限错误,将 /public/home/username/sourcecode/cmake-3.20.5 目录下的 cmake_install.cmake 文件里的

set(CMAKE_INSTALL_PREFIX "/usr/local") 修改为 set(CMAKE_INSTALL_PREFIX "/public/home/username/soft/cmake-3.20.5")

添加环境变量:

shell
vi ~/.bashrc
export PATH=/public/home/username/soft/cmake-3.20.5/bin:$PATH
source ~/.bashrc #刷新环境变量
  1. Gromacs2021 安装

上传源码包 gromacs-2021.2.tar.gz 至 /public/home/username/soft 目录下,并执行以下命令:

shell
tar zxvf gromacs-2021.2.tar.gz  #解压
cd gromacs-2021.2  #进入目录
mkdir build
cd build
cmake .. -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/public/home/username/soft/gromacs-2021.2  #编译&安装
make
make check
make install

最后添加环境变量:

shell
vi ~/.bashrc
source /public/home/username/soft/gromacs-2021.2/bin/GMXRC
source ~/.bashrc  #刷新环境变量

查看 gromacs 是否正确安装:

shell
gmx -version

查看动力学程序 mdrun 是否可用:

shell
gmx mdrun -h

Lammps-29Oct20 软件安装教程

以昆山中心为例

  1. 安装编译Lammps-29Oct20

(1) 下载 lammps-29Oct20.tar.gz 程序安装包,并将安装包拷贝至目录 /public/home/username/soft 下。

(2) 在 /public/home/username/soft 目录下执行命令:

shell
tar –xvf lammps-29Oct20.tar.gz  #解压

(3) 加载安装所需编译环境:

shell
module purge  #将系统默认编译器关闭
module load compiler/intel/2017.5.239  #加载Intel编译器      
module load mpi/intelmpi/2017.4.239  #加载Intelmpi并行       
module load mathlib/fftw/3.3.8/double/intel  #加载fftw数学库

(4) 确保编译环境加载成功:

shell
which icc
/opt/hpc/software/compiler/intel/intel-compiler-2017.5.239/bin/intel64/icc

which mpiifort
/public/software/mpi/intelmpi/2017.4.239/intel64/bin/mpiifort

(5) 进入 /public/home/username/soft/lammps-29Oct20/src 目录,在 src/ 目录下输入:

shell
make yes-all  #先把所有包安装了

(6) 在 src/目录下输入:

shell
make no-lib  #卸载一些需要链接外部数学库的package

(7) 修改 Makefile 文件:

① 目录 /public/home/username/soft/lammps-29Oct20/src/MAKE 中,将 Makefile.mpi 文件复制,另存为 Makefile.cpu,即:

shell
cp Makefile.mpi Makefile.cpu

② 修改 src/MAKE/目录下的 Makefile.cpu 如下:

shell
SHELL = /bin/sh

# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler

export OMPI_CXX = icc
CC =            mpicxx -std=c++11
CCFLAGS =       -g -O3 
SHFLAGS =       -fPIC
DEPFLAGS =      -M

LINK =          mpicxx -std=c++11
LINKFLAGS =     -g -O
LIB = 
SIZE =          size

ARCHIVE =       ar
ARFLAGS =       -rc
SHLIBFLAGS =    -shared

# ---------------------------------------------------------------------
# LAMMPS-specific settings, all OPTIONAL
# specify settings for LAMMPS features you will use
# if you change any -D setting, do full re-compile after "make clean"

# LAMMPS ifdef settings
# see possible settings in Section 3.5 of the manual

LMP_INC =       -DLAMMPS_GZIP

# MPI library
# see discussion in Section 3.4 of the manual
# MPI wrapper compiler/linker can provide this info
# can point to dummy MPI library in src/STUBS as in Makefile.serial

# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts
# INC = path for mpi.h, MPI compiler settings
# PATH = path for MPI library
# LIB = name of MPI library

MPI_INC =       -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1 -I/public/software/mpi/intelmpi/2017.4.239/intel64/include
MPI_PATH =      -L/public/software/mpi/intelmpi/2017.4.239/intel64/lib
MPI_LIB =       -lmpi

# FFT library
# see discussion in Section 3.5.2 of manual
# can be left blank to use provided KISS FFT library
# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings
# PATH = path for FFT library
# LIB = name of FFT library
FFT_INC =  -DFFT_FFTW3 -I/public/software/mathlib/fftw/3.3.8/double/intel/include 
FFT_PATH =  -L/public/software/mathlib/fftw/3.3.8/double/intel/lib
FFT_LIB = -lfftw3

(8) 在 src/目录下,执行:

shell
make cpu -j 4

安装结束后 src 目录下会生成 lmp_cpu 可执行文件。

  1. 配置环境

(1) 在 ~/.bashrc 文件中添加环境变量:

shell
vi ~/.bashrc
export PATH=$PATH:/public/home/username/soft/lammps-29Oct20/src

(2) 更新环境变量:

shell
source ~/.bashrc
  1. 任务提交测试

在 bench 目录下找到输入文件 in.lj,编写任务提交脚本:

shell
#!/bin/bash
#SBATCH -J lammps
#SBATCH -N 2
#SBATCH -n 64
#SBATCH -p kshctest

module purge
module load compiler/intel/2017.5.239         
module load mpi/intelmpi/2017.4.239           
module load mathlib/fftw/3.3.8/double/intel

export PATH=$PATH:/public/home/username/soft/lammps-29Oct20/src

mpirun -np 64 lmp_cpu < in.lj

Miniconda 软件安装教程

以昆山中心为例

集群路径下有 Miniconda 安装程序,直接拷贝到主目录执行,默认安装路径为/public/home/username/miniconda3

shell
cd /public/software/apps/DeepLearning/whl/Miniconda

cp Miniconda3-py39_4.10.3-Linux-x86_64.sh ~

./Miniconda3-py39_4.10.3-Linux-x86_64.sh

具体安装过程可参考编译及运行环境 -> 软件安装示例 -> Anaconda