用户工具

站点工具


atk:使用job_manager向本地计算机上提交作业

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
atk:使用job_manager向本地计算机上提交作业 [2019/04/20 11:07] – [串行计算] dong.dongatk:使用job_manager向本地计算机上提交作业 [2023/07/27 12:09] (当前版本) – [终止正在进行的计算] fermi
行 4: 行 4:
   * 管理本地计算机、远程的计算用服务器。   * 管理本地计算机、远程的计算用服务器。
 本文介绍在本地计算机上提交计算。 本文介绍在本地计算机上提交计算。
-  * 本地串行运行; 
-  * 本地多线程并行; 
-  * 本地多MPI进程并行。 
  
-<WRAP center tip 80%>+<WRAP center tip 100%>
 ==== 注意 ==== ==== 注意 ====
  
行 18: 行 15:
 ===== 本地机计算队列 ===== ===== 本地机计算队列 =====
  
-在安装好QuantumATK时,软件自动创建本地计算队列(Local)。将作业提交到Local队列即在本地计算机上进行计算。本地作业也支持排队计算,即一个计算完成才开始下一个计算。要实现排队请进行如下设置+在安装好QuantumATK时,软件自动创建本地计算队列(Local)。将作业提交到 Local 队列即在本地计算机上进行计算。在Local列进行计算可以手动开始计算:
  
-{{ :atk:localqueueenabling.png?direct&600 |}}+{{ :atk:capture_20230725154240114.jpg?800 |}}
  
-将要进行计算的多个作业作业提交到Local队列(不要选择自动运行),手动开始运行第一个作业,则后续的作业即可自动顺序完成。 +也可以选择自动开始计算,并设置根据硬件资源情况选择同时可以运行的作业个数:
-===== 串行计算 ===== +
-创建一新的project,下载这个计算脚本实例([[http://docs.quantumwise.com/_downloads/silicon.py|silicon.py]]),此脚本使用非常多k点运行ATK-DFT计算。+
  
-将此脚本拖动到''Job Manager''上,选择一个local 队列。 +{{ :atk:capture_20230725154838119.jpg?800 |}}
-{{ :atk:jm_1.png?500 |}} +
-计算作业的状态是“pending”,点击''Job Settings''图标,可以编辑作业的设置。 +
-{{ :atk:jm_2.png?500 |}} +
-''Job Settings''界面主要包括三个部分: +
-  * Job Type(作业类型) +
-  * Job properties(任务属性) +
-  * MPI settings(MPI并行设置)+
  
 +提交作业数超出时自动排队计算。
  
-作业类型可选:''Serial''(串行)、启Threading(多线程)、开启MPI并行(下图)+===== 设置并提交计算作业 ===== 
 +一个 project 或者创建一个新的 project,设置一个新的计算脚本
  
-{{ :atk:localqueuempirun.png?direct&600 |}}+将此脚本拖动到''Job Manager''上,选择 local 队列,即跳出作业提交设置,以下是一个典型的并行计算设置:
  
-点击''OK''设定作业性质。+{{ :atk:capture_20230725155709885.jpg?800 |}}
  
-回到''Job Manager'',点击''Run''(运行)图标开始执行计算作业。作业状态从“Pending”到“Running”。 
-{{ :atk:jm_4.png?500 |}} 
  
-计算作业大约需要1分钟(2.5GHz CPU),结束时task state显示为“Finished”。点击LOG图标可以查看作业日志。 +=== 作业类型 ===
-{{ :atk:jm_5.png?500 |}} +
-{{ :atk:jm_6.png?500 |}}+
  
-计算的输出结果会出现在VNL主界面的LabFloor里面。 +  * ''Serial''(串行):仅使用一个进程运行作业 
-{{ :atk:jm_7.png?500 |}}+  * Threading(多线程):QuantumATK可以使用 Intel [[https://software.intel.com/en-us/intel-mkl|MKL]] 的 [[http://openmp.org/wp/|openMP]] 多线程运行计算。 
 +  * MPI并行:**对于多数计算计算,我们推荐 MPI 并行,这可以大大提高了计算效率。** 新版的QuantumATK内置并行计算支持,可以直接使用。
  
-<WRAP center round info 90%> 
-在计算的过程中,可以查看系统的负载,从下图看到,可以看到串行计算尽使用一个CPU核: 
-{{ :atk:jm_8.png?500 |}} 
-尽管计算只使用了一个核,但是计算可能从一个硬件的一个核转移到另一个核。 
-{{ :atk:jm_9.png?500 |}} 
-</WRAP> 
  
-回到''Job Manager'',右侧的Property-Value表中列出了所有计算执行的设置细节: 
-  * QuantumATK的可执行文件路径; 
-  * Python脚本和log文件的名字; 
-  * 作业模式(mode)为serial,核数(processors)为1,线程数为1,等等。 
  
-{{ :atk:jm_10.png?500 |}}+点击 ''Add'' 按钮,计算作业的状态是“pending”,此时点击上方的 Edit 图标,仍然可以编辑作业的设置。
  
-使用“Resubmit”按钮可以重新提交计算脚本。在此之前如果修改了计算脚本,则重新提交计算会应用这些更改。 +{{ :atk:capture_20230725160032705.jpg?800 |}}
-{{ :atk:jm_11.png?500 |}} +
-<WRAP center round info 90%> +
-默认的计算作业类型(Type)为“多线程”(Threaded),如果想选择“Serial”或“Multiprocess parallel”应在启动计算之前。 +
-</WRAP>+
  
-使用“Trash”按钮可以删除队列里作业 +设置完成后,点击上方按钮开始''Start the jobs''按钮,开始计算
-{{ :atk:jm_12.png?500 |}}+
  
  
-===== 多线程(Threading) ===== 
-多线程是一种并行计算的方式。QuantumATK可以使用Intel [[https://software.intel.com/en-us/intel-mkl|MKL]] 中的 [[http://openmp.org/wp/|openMP]] 多线程。多线程运行在进行ATK-Classical计算时通常效率比较高。**对于ATK-DFT和ATK-SE计算,我们推荐MPI并行。** 
  
-为测试多线程计算请下载[[http://docs.quantumwise.com/_downloads/cnt.py|cnt.py]]脚本该脚本使用ATK-Classical计算多壁碳纳米管的动态矩阵(声子性质)+回到''Job Manager''中间栏列出了作业的状态开始运行时,右侧栏显示计算过程日志
  
-使用Job Manager执行脚本,选择作业类型(job type)为 “Threaded parallel (single process)”,计算很快结束。+{{ :atk:capture_20230725160952623.jpg?600 |}}
  
-{{ :atk:jm_13.png?500 |}}+要终止计算,点击中间栏下方的 ''Stop execution'' 按钮。
  
-<WRAP center info 80%> +===== 监控计算作业 =====
-计算过程中查看系统负载和进程情况,可以看到一个atkpython进程运行,但同时有多个核被占用。这表明任务被分解成多个线程分发在不同的核上。 +
-{{ :atk:jm_14.png?450 |}}+
  
-{{ :atk:jm_15.png?450 |}} +Job Manager右侧栏会显示计算过程日志,便于我们监控计算流程是否正常运行。 
-</WRAP>+ 
 +==== 查看系统负载 ==== 
 + 
 + 
 +在计算过程中,使用 Windows 下的任务管理器或 Linux 终端的''top''查看系统负载和进程情况。 
 + 
 +{{ :atk:capture_20230727101451911.jpg?800 |}}
  
-用这个脚本分别进行串行(serial)和多线程并行(threaded)计算,对比两者的运行时间可以看出多线程并行大大提高了计算的效率: 
-{{ :atk:jm_16.png?500 |}} 
  
-===== MPI并行计算 ===== 
-新版的QuantumATK内置并行计算支持,可以直接使用。 
  
-Job Manager上执''silicon.py''脚本,选择MPI Parallel方式(即在Job Settings中选择Multiprocess parallel),输入合适进程数:+===== 终止正行的计算 =====
  
-{{ :atk:localqueuempirun.png?direct&600 |}}+要停止正在进行的计算,可以在Job Manager里点击“stop execution of job”,显示完成后,可以再次查看任务管理器或top命令结果。
  
  
-===== Machine Manager ===== +===== 删除队列中的计算作业 =====
-用户可以使用Machine Manager定义多个本地计算队列,例如一个设置为串行,一个设置为MPI并行。+
  
-在Job Manager中点击图标打开Machine Manager,点击New->Local,在弹出的窗口中设置计算队列的属性(下图设置一个默认为MPI并行的计算队列): +使用上方''Delete''按钮可以删除队列作业,正在执行的计算作业请先终止再删除,删除计算作业不会删除任何与作业相关的文件。
-{{ :atk:jm_20.png?400 |}} +
-{{ :atk:jm_20_2.png?400 |}}+
  
-===== 停止正在进行的计算 ===== 
  
-要停止正在进行的计算,可以在Job Manager里点击“stop execution of job”。然而,这可能并不会终止正在进行的后台计算。需要用户手动结束进程。 
atk/使用job_manager向本地计算机上提交作业.1555729636.txt.gz · 最后更改: 2019/04/20 11:07 由 dong.dong

© 2014-2022 费米科技(京ICP备14023855号