这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
atk:使用job_manager向服务器上提交作业 [2018/03/27 12:19] – [添加PBS、LSF、SLURM队列服务器] fermi | atk:使用job_manager向服务器上提交作业 [2018/05/11 12:01] (当前版本) – [自定义任务的计算设置] fermi | ||
---|---|---|---|
行 10: | 行 10: | ||
* 便捷:随时可以联机查看即可查看任务、下载计算结果。 | * 便捷:随时可以联机查看即可查看任务、下载计算结果。 | ||
- | 从2017版开始,设置使用Job Manager向服务器提交作业变得格外方便。 | + | <WRAP center tip> |
+ | 要使用Job Manager直接向服务器提交计算,需要先进行一次远程服务器连接配置。从2017版开始,设置使用Job Manager向服务器提交作业变得格外方便。详情请参见:[[atk: | ||
+ | </ | ||
- | ===== 在QuantumATK中添加Job Manager中添加计算服务器 ===== | + | ===== 提交新计算作业(计算使用 New Calculator) ===== |
- | + | ||
- | QuantumATK中支持两种在远程服务器上运行的方式: | + | |
- | * Direct:即服务器上没有PBS等队列系统,提交的计算直接在登录的主机上运行。这种方法常试用于单节点的服务器。 | + | |
- | * 通过服务器的队列系统提交:对于大型集群,推荐使用这种方法,目前支持PBS、LSF、SLURM等三种作业队列管理系统。 | + | |
- | + | ||
- | + | ||
- | ==== 添加Direct模式服务器 ==== | + | |
- | + | ||
- | + | ||
- | * 首先确定要在服务器上哪个账户下运行ATK计算,使用终端正确登录服务器,在合适的位置创建一个文件夹用于存放运行ATK产生的文件(例如$HOME/ | + | |
- | * 点击“New”选择“Remote Direct”; | + | |
- | {{ : | + | |
- | * 在Settings里设置名称、IP地址(或主机名、域名)、端口(SSH默认为22),登录的用户名; | + | |
- | {{ : | + | |
- | * 点击'' | + | |
- | {{ : | + | |
- | * 在Environment中设置保存计算任务的文件夹、mpi执行命令、要source的脚本(根据服务器一般提交任务的脚本进行设置,、要export的环境变量(变量前不用加export命令)、Modules to load等; | + | |
- | {{ : | + | |
- | * 在Resources里设置任务使用的计算资源(注:这里设置的是默认运行一个作业的计算资源,提交计算时还可以根据实际情况调整); | + | |
- | {{ : | + | |
- | + | ||
- | 之后可以使用diagnostics诊断设置是否正确,当所有项目显示对号时即完成了配置。 | + | |
- | {{ : | + | |
- | + | ||
- | + | ||
- | + | ||
- | ==== 添加PBS、LSF、SLURM队列服务器 ==== | + | |
- | + | ||
- | 这里以PBS为例。 | + | |
- | + | ||
- | * 点击“New”选择“Remote PBS” | + | |
- | {{ : | + | |
- | * 在Settings里设置: | + | |
- | * **Machine Name**:可以自定义一个服务器的名称; | + | |
- | * **Hostname**:通常为服务器的IP地址(或主机名、域名) | + | |
- | * **Port**:默认端口为22 | + | |
- | * **Username**:登录服务器的用户名 | + | |
- | * **Queue Name**:PBS队列名称,可以输入多个,使用逗号分隔; | + | |
- | * **Path to PBS binaries**: PBS(或Torque)命令位置(不含命令本身),可在终端中使用'' | + | |
- | {{ : | + | |
- | * 点击'' | + | |
- | {{ : | + | |
- | * 在Environment中设置: | + | |
- | * **Working directory**:保存计算任务的文件夹 | + | |
- | * **ATK executable path**: atkpython命令的位置 | + | |
- | * **mpiexec executable**: | + | |
- | * **Script to source**: | + | |
- | * **Export statements**:要export的环境变量(变量前不用加export命令); | + | |
- | * **Modules to load**:某些大型服务器要加载的模块; | + | |
- | * **Raw submission text**:自定义的PBS脚本命令,直接写入PBS脚本。 | + | |
- | {{ : | + | |
- | * 在Resources里设置任务使用的计算资源 | + | |
- | * number of nodes:提交计算要请求的节点数 | + | |
- | * numer of cores per node: 每个节点的核心数 | + | |
- | * Enable MKL_DYNAMIC:是否使用MKL的动态线程(实际并行效果需根据系统情况测试) | + | |
- | {{ : | + | |
- | * 在Notification里设置作业状态检查和提醒的选项 | + | |
- | * 设置检查作业状态的时间间隔 | + | |
- | * 邮件提醒需要服务器PBS系统支持。 | + | |
- | {{ : | + | |
- | * 最后在Diagnostics里检查配置是否正常,出现任何错误时,根据提示对前面的设置进行修改。 | + | |
- | {{ : | + | |
- | + | ||
- | + | ||
- | ===== 提交任务 | + | |
如果以上设置没有问题,可以尝试提交任务。将作业脚本发送至job manager,选择相应的队列,点击开始按钮即可开始提交计算。 | 如果以上设置没有问题,可以尝试提交任务。将作业脚本发送至job manager,选择相应的队列,点击开始按钮即可开始提交计算。 | ||
行 86: | 行 23: | ||
在提交任务时,用户仍有机会修改每个提交任务的计算设置,方法是: | 在提交任务时,用户仍有机会修改每个提交任务的计算设置,方法是: | ||
- | * 向队列提交任务后不立即点击“开始运行按钮”,此时可以点击Job Setting按钮修改计算设置: | + | * 向队列提交任务后不立即点击“开始运行按钮”,此时可以点击 Job Setting 按钮修改计算设置: |
{{ : | {{ : | ||
* 在Resource选项卡中可以临时修改此计算任务的计算资源(与上面队列设置类似): | * 在Resource选项卡中可以临时修改此计算任务的计算资源(与上面队列设置类似): | ||
{{ : | {{ : | ||
- | * 在IO选项中可以临时设定此计算任务的目录: | + | * 在IO选项中可以设定此计算任务的目录 |
{{ : | {{ : | ||
- | <WRAP center tip 80%> | + | <WRAP center tip> |
==== 提示 ==== | ==== 提示 ==== | ||
- | 由于为了防止重名覆盖,Job Manager会在设定的目录下自动为每个作业生成随机的文件夹名称,这为用户手动查找作业目录带来了一定的麻烦。为此,建议在提交任务时,为每个作业添加一个有意义的子目录(如上图中作业队列默认的目录为/ | + | 于为了防止重名覆盖,Job Manager 会在设定的目录下自动为每个作业生成随机的文件夹名称(格式为提交日期和随机字母组合),这为用户手动查找作业目录带来了一定的麻烦。为此,建议在提交任务时,为每个作业添加一个有意义的子目录(如上图中作业队列默认的目录为/ |
</ | </ | ||
- | ==== 问题排除 ==== | + | ===== 提交续算作业(计算使用了Analysis from File) ===== |
+ | |||
+ | * 通常情况下,程序能自动识别Analysis from File,并正确上传相关文件到服务器文件夹,以备计算使用。 | ||
+ | * 但仍建议用户在提交作业后,开始运行作业前,除计算资源、并行设置外,用户还应检查,所需的hdf5文件上传列表: | ||
+ | {{ : | ||
+ | |||
+ | ===== 计算结果的回传 ===== | ||
+ | |||
+ | 作业成功开始排队或计算后,图形界面端即可关闭、断开。下次打开图形界面时,软件自动连接服务器检查作业状态,如果自动检查或下载数据失败,可以在 Job Manager 中使用 Recover Data 来强制回传结果。必要时终端登录服务器检查作业状态。 | ||
+ | |||
+ | ===== 问题排除 | ||