2. 快速开始¶
本章帮助新用户以最短时间上手计算平台:申请账号、登录集群、管理文件、提交第一个作业。
2.1 用户账号¶
用户首先需要拥有计算环境用户账号才能使用计算资源。
用户账号申请¶
- 统一认证账号的账户通过申请的方式建立 AFS 账号,地址:https://login.ihep.ac.cn。
- 新用户(无统一认证)网上账户申请地址:https://login.ihep.ac.cn/regist.jsp。
密码说明
集群密码与统一认证一致,无需再次设置,如果统一认证密码修改,集群密码也会同步更新。
2.2 命令行登录¶
Linux、macOS、Windows 三种系统均可登录集群,推荐使用 Linux/macOS 系统登录。
Windows 10 及以上版本推荐使用 Windows Terminal 登录;其余版本需要安装第三方软件,通过 SSH 客户端软件登录。更多详细信息请参考 4.1 账号申请。
2.3 文件管理¶
文件目录¶
用户登录后,默认进入用户家目录,即 /afs/ihep.ac.cn/users/xxx/xxx。
用户家目录下有 .bashrc 文件,该文件在用户登录时自动执行。
建议用户个人文件存储位置:
| 目录 | 存储内容 | 单用户配额 |
|---|---|---|
| /afs/ihep.ac.cn/users/xxxx/[username] | 登录配置文件 | 500M |
| /scratchfs/xxxx | 用户临时文件 | 500G |
| /workfs/xxxx | 用户个人文件 | 50G |
建议实验数据存储于各实验对应目录下,可在文件系统查看具体信息和存储限额等情况。
文件上传下载¶
2.4 作业提交¶
HTCondor 作业¶
HTCondor 是一款在高能物理计算领域较流行的开源批处理系统,支持大规模计算集群,具有较高灵活性,特别适用于高能所高吞吐量的作业与计算资源调度。根据计算集群的实际情况,计算中心优化 HTCondor 功能与性能以及开发集中管理、监控等配套系统,部署实施了基于 HTCondor 的高吞吐量调度系统。目前 HTCondor 系统支持 BES、JUNO、DYB、LHAASO、HXMT 等高能所绝大部分实验。
-
准备作业脚本
将作业脚本上传至对应目录下,例如:
/workfs/xxx/test.sh,或进入对应目录,使用vi test.sh创建脚本。一个简单的 shell 脚本如下:
-
脚本可执行权限配置
-
提交作业
-
查看作业状态
输出结果如下:
JOBID OWNER SUBMITTIME RUN_TIME ST PRI SIZE CMD 5519.0 xxx 2019-08-27 16:54 0+00:00:00 0 0.0 test.shJOBID 为作业号,OWNER 为作业所属用户,SUBMITTIME 为提交时间,RUN_TIME 为运行时间,ST 为状态,PRI 为优先级,SIZE 为占用虚拟内存大小,CMD 为作业程序名。
-
取消作业
(1)根据作业 ID 删除作业,支持多个作业同时删除,例如,删除作业 5519 和 5520,命令如下:
(2)根据用户删除作业,例如,删除当前用户的所有作业,命令如下:
Slurm 作业¶
Slurm 是一款开源的集群管理器和作业调度系统,支持多种计算节点类型,包括 GPU、CPU 等。 Slurm 作业提交方式如下:
-
准备作业脚本
使用自己喜欢的编辑器如 vim 或者 emacs 编辑待提交的作业脚本。样例作业脚本可在如下路径中找到
/cvmfs/common.ihep.ac.cn/software/slurm_sample_script:ssh <AFS_user_name>@lxlogin.ihep.ac.cn cd /cvmfs/common.ihep.ac.cn/software/slurm_sample_script ls -lht
图 2-1 Slurm 模板目录 最简单的样例脚本为:

图 2-2 Slurm 作业脚本模板 在脚本中:
(1)定义好需要的变量,如
VAR1、VAR2;(2)如果需要运行自己的脚本程序,则使用
srun命令来启动,并且将/path/to/your/script修改为自己的脚本文件名;(3)如果需要运行并行程序,则首先使用
srun命令来触发资源分配,接下来可以使用mpiexec命令来运行并行程序。同样地,/path/to/your/mpi_program需要修改为自己的并行程序路径名。 -
提交作业
脚本文件编辑好以后,准备提交,所使用的提交命令如下所示:
hep_sub -slurm -part <partition_name> -g <group_name> -np <cpu_core_number> slurm_sample_script_2.sh其中:
(1)
<partition_name>是队列名称,可使用的队列名称可使用hep_clus命令查到:得到的结果如下所示:

图 2-3 hep_clus 输出示例 可使用的队列名称如第一列所示。如果不确定自己需要哪个队列,可使用选项向 comp 队列提交作业,这是集群的默认队列。
(2)
<group_name>是作业所属的组名。例如,如果待提交的作业是属于 BES 实验的 offline 组,则使用-g offline来指定作业所属组。(3)
<cpu_core_number>是作业运行所需要的 CPU 核数。例如,如果需要 30 个 CPU 核,则使用-np 30选项来指定。如上所述,如果要向队列 comp 提交一个作业脚本文件
slurm_sample_script_2.sh,该作业属于 offline 组,并且需要 30 个 CPU 核的话,所使用的提交命令为:注意
队列名和作业所属组名必须提供,否则作业提交不会成功。
-
查看作业状态
作业提交以后,hep_sub 会返回一个作业 ID 号,该 ID 号可以用来查看作业,所使用的命令为:
其中
<job_id>即为 hep_sub 返回的作业 ID 号。 -
获取作业结果
作业运行结束后,若没有指定输出目录,默认的作业结果将会存放在用户提交作业的目录下,输出文件格式为
<job_id>.out。其中,<job_id>是作业 ID 号。例如如果作业 ID 号为 1234,那么输出文件名称为1234.out。
2.5 软件使用¶
平台使用 module 命令加载软件环境,具体使用方法请参考手册 7.1 环境配置。 下面仅以 Python 为例,介绍如何使用 Python 软件。
-
加载 Python 软件环境
-
验证 Python 环境
-
退出 Python 环境
常见问题(FAQ)¶
见常见问题。
有问题?输入后跳转到对话页继续交流