用户手册
>
软件使用
>
编译及运行环境
本集群系统安装了多种编译环境及应用,主要包括编译器、调试器、mpi并行开发环境及数学库等四部分,为方便使用,集群软件环境通过modules工具管理环境变量,可以使用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 | 显示模块内容 |
查看系统可用软件,执行命令:
module av
即可列出用户可使用的所有软件名称。系统安装的软件主要分为两类:
(1)安装在共享存储/public/software/路径下的软件,包含数学库、MPI 并行库、工具等;
(2)安装在节点本地磁盘/opt 下的软件,包含编译器等。
软件列出名称规则: “类别/软件名/版本号/[编译器]”。
(1)设置某软件的环境变量只需要使用 module load 命令加载相应环境变量即可。例如,以昆山中心为例,加载 hdf5 库,输入命令:
module load mathlib/hdf5/1.8.20/intel
即加载了 intel-mpi 编译器编译的 1.8.20 版的 hdf5 库环境。
(2)查看已经加载上的软件环境,使用命令:
module list
(3)卸载不需要的软件环境,使用命令:
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 环境。
本部分内容主要介绍一些常用软件在集群上的编译过程。
(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)安装完毕,执行命令:
source ~/.bashrc
(2)查看 conda 安装是否成功,执行命令:
which conda
出现 conda 路径,则表示安装成功: ~/soft/Anaconda3/bin/conda
(3)若没有搜到 conda 路径,需要配置 conda 环境变量:
vi ~/.bashrc
(4)添加语句:
export PATH=/public/home/username/soft/Anaconda3/bin:$PATH
测试 Anaconda3,执行 python3
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.
>>>
以昆山中心为例
(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 目录下执行命令:
tar –zxvf fftw-3.3.8.tar.gz #解压
(4)命令行输入下述代码加载所需环境:
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 目录,依次运行命令:
./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 目录,依次运行命令:
./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)更新环境变量:
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)确认是否安装成功,执行命令:
fftw-wisdom –-version
以昆山中心为例
(1)下载 gcc-8.4.0.tar.gz 安装包,并将其拷贝至目录 /public/home/username/sourcecode 下。
(2)在 /public/home/username/sourcecode 目录下执行命令:
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 下执行命令:
./contrib/download_prerequisites
(5)配置编译环境。在目录 /public/home/username/sourcecode/gcc-8.4.0/build 下执行命令:
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 下进行编译:
make -j 20 #20核进行编译
(7)在目录 /public/home/username/sourcecode/gcc-8.4.0/build 下进行安装:
make install
(1)更新环境变量:
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)确认路径加载成功,执行命令:
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。
以昆山中心为例
(1)gcc 安装
集群自带 gcc-4.8,故无需安装,若需升级安装,参考帮助文档索引 -> 编译及运行环境 -> 软件安装示例 -> GCC。
(2)cmake 安装
命令行输入 cmake -version 查看版本,若低于 3.13 需要重新安装,如下:
上传源码包 cmake-3.20.5.tar.gz 至 /public/home/username/sourcecode 目录下,并执行以下命令:
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")
添加环境变量:
vi ~/.bashrc
export PATH=/public/home/username/soft/cmake-3.20.5/bin:$PATH
source ~/.bashrc #刷新环境变量
上传源码包 gromacs-2021.2.tar.gz 至 /public/home/username/soft 目录下,并执行以下命令:
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
最后添加环境变量:
vi ~/.bashrc
source /public/home/username/soft/gromacs-2021.2/bin/GMXRC
source ~/.bashrc #刷新环境变量
查看 gromacs 是否正确安装:
gmx -version
查看动力学程序 mdrun 是否可用:
gmx mdrun -h
以昆山中心为例
(1) 下载 lammps-29Oct20.tar.gz 程序安装包,并将安装包拷贝至目录 /public/home/username/soft 下。
(2) 在 /public/home/username/soft 目录下执行命令:
tar –xvf lammps-29Oct20.tar.gz #解压
(3) 加载安装所需编译环境:
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) 确保编译环境加载成功:
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/ 目录下输入:
make yes-all #先把所有包安装了
(6) 在 src/目录下输入:
make no-lib #卸载一些需要链接外部数学库的package
(7) 修改 Makefile 文件:
① 目录 /public/home/username/soft/lammps-29Oct20/src/MAKE 中,将 Makefile.mpi 文件复制,另存为 Makefile.cpu,即:
cp Makefile.mpi Makefile.cpu
② 修改 src/MAKE/目录下的 Makefile.cpu 如下:
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/目录下,执行:
make cpu -j 4
安装结束后 src 目录下会生成 lmp_cpu 可执行文件。
(1) 在 ~/.bashrc 文件中添加环境变量:
vi ~/.bashrc
export PATH=$PATH:/public/home/username/soft/lammps-29Oct20/src
(2) 更新环境变量:
source ~/.bashrc
在 bench 目录下找到输入文件 in.lj,编写任务提交脚本:
#!/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 安装程序,直接拷贝到主目录执行,默认安装路径为/public/home/username/miniconda3
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