这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
atk:高效运行quantumatk [2023/07/30 14:10] – [图形界面错误] fermi | atk:高效运行quantumatk [2024/02/23 15:43] (当前版本) – [内存错误] fermi | ||
---|---|---|---|
行 3: | 行 3: | ||
QuantumATK是成熟的软件平台,运行出现意外错误的情况很少,最常见的是内存和进程错误,这种错误一般出现在块体 DFT(或器件 DFT-NEGF)计算时发生异常终止,log文件没有错误信息或者有如下类似的错误信息: | QuantumATK是成熟的软件平台,运行出现意外错误的情况很少,最常见的是内存和进程错误,这种错误一般出现在块体 DFT(或器件 DFT-NEGF)计算时发生异常终止,log文件没有错误信息或者有如下类似的错误信息: | ||
+ | {{ : | ||
- | + | 这种错误信息表明进程被外部终止。 | |
- | 也就是显示进程被外部终止。 | + | |
===== 进程错误 ===== | ===== 进程错误 ===== | ||
行 27: | 行 27: | ||
===== 内存错误 ===== | ===== 内存错误 ===== | ||
- | 很多时候这种进程错误也是由于内存读写造成的,要快速处理计算中出现的内存溢出错误,就需要理解以下几点: | + | 很多时候这种进程错误是由于内存读写造成的。除此之外,有事内存限制可能是系统管理员为普通用户进行的资源限制,这是QuantumATK会给出明确的内存溢出的错误信息。 |
+ | |||
+ | 要快速处理计算中出现的内存溢出错误,就需要理解以下几点: | ||
* DFT计算以自洽为一个单元,自洽单元的 MPI 并行与内存消耗是需要考虑的主要因素; | * DFT计算以自洽为一个单元,自洽单元的 MPI 并行与内存消耗是需要考虑的主要因素; | ||
行 64: | 行 66: | ||
一般来说我们会设置启动 64 个 MPI并行进程的计算: | 一般来说我们会设置启动 64 个 MPI并行进程的计算: | ||
< | < | ||
- | [atk_dir]/ | + | [atk_dir]/ |
</ | </ | ||
在并行提交时,'' | 在并行提交时,'' | ||
此时需要占用 64 倍的内存。如果我们在不改变请求资源的前提下,减少'' | 此时需要占用 64 倍的内存。如果我们在不改变请求资源的前提下,减少'' | ||
+ | |||
+ | 在使用多节点时,可以考虑减少每个节点上的进程数。例如以使用2节点(每节点64核)为例: | ||
+ | < | ||
+ | #PBS -l nodes=2: | ||
+ | ... | ||
+ | ... | ||
+ | [atk_dir]/ | ||
+ | </ | ||
因此为了控制并行内存,可以: | 因此为了控制并行内存,可以: |