ABACUS 环境与任务提交
版本、编译依赖、输入格式和可直接提交的脚本。
阅读本篇目录
本篇采用鸢算科技集群 ABACUS 3.10.1 的实际输入与输出。下载实操资料包,解压后进入 abacus-examples。inputs 是干净输入,cases 是参考结果,work 用于你的新计算。
安装与模块#
现有ABACUS 3.10.1的GPU构建使用GCC 13.3、CUDA 12.8、HPC-X 2.50,分别针对P100的sm60与V100的sm70;包含Libxc 6.2.2、LibRI 0.2.1.1、LibComm 0.1.1、ELPA、OpenBLAS、ScaLAPACK与FFTW。CPU构建使用oneAPI 2024.2/Intel MPI/MKL,CPU节点数据以后补充。
module avail abacus
module load abacus/3.10.1-p100
module list
which abacus
| 资源 | 模块 |
|---|---|
| P100 | abacus/3.10.1-p100 |
| V100 16G | abacus/3.10.1-v100 |
| CPU架构程序 | abacus/3.10.1-8173m |
本轮实算使用P100、V10016G计算节点,部分没有可用GPU执行路径的功能在分配的GPU宿主机CPU上运行。公共可执行程序与调度配置未改;每篇明确实际后端,不把宿主机有GPU等同于算法用了GPU。
完整提交脚本#
#!/bin/bash
#SBATCH --job-name=abacus-example
#SBATCH --partition=gpu-8p100-hs
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=2
#SBATCH --gres=gpu:p100-16g:1
#SBATCH --mem=8G
#SBATCH --time=01:00:00
#SBATCH --output=job-%j.out
set -eo pipefail
source /etc/profile.d/lmod.sh
module purge
module load abacus/3.10.1-p100
export OMP_NUM_THREADS=2 OPENBLAS_NUM_THREADS=1 MKL_NUM_THREADS=1
mpirun -np 1 abacus > stdout.log 2>&1
MPI进程数、线程数和GPU数要配合。增加卡数前先检查k点数量与并行划分,Γ单点不能照搬多k点分卡方案。LCAO的ELPA/cuSOLVER与PW的CG/BPCG路径也不同。
读懂三个文件#
- INPUT:关键字和值;避免重复关键字。
- STRU:赝势、轨道、晶格、坐标、移动标记和磁矩。
- KPT:均匀积分网格或NSCF路径;两者用途不同。
赝势与轨道目录在资料包PP_ORB中。相对路径按工作目录解析,移动算例目录时要同时调整路径。LATTICE_CONSTANT用Bohr,Cartesian坐标的长度约定应看STRU对应模式,不能直接假设所有坐标都以Å表示。
进一步查阅#
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。