计算化学公社

标题: 请问并行编译的VASP会有不好的影响吗? [打印本页]

作者
Author:
dingniu2    时间: 2023-5-31 00:00
标题: 请问并行编译的VASP会有不好的影响吗?
看到论坛里很多VASP编译都是直接输入make all,看到官网用的是make DEPS=1 -j并行编译,请问这两个命令有区别吗?并行编译得到的VASP会不会不稳定,有些未知BUG?

作者
Author:
Deepast    时间: 2023-5-31 00:41
只是并行容易报错
作者
Author:
sobereva    时间: 2023-5-31 03:29
对任何程序都没这个问题,只要最终显示编译成功就都一样,对运行没丝毫影响。核多的机子上,-j时往往能令编译耗时降低一个多数量级。
绝大多数情况并行编译不会有问题,一般也都建议用-j。仅在极个别情况下-j时在编译中途可能出现问题,特别是在虚拟机里
作者
Author:
ahxb    时间: 2023-5-31 09:16
vasp的部分源文件依赖其他源文件,所以在src文件夹里有个.object文件提供了一个编译源文件的顺序。直接make -j并行编译容易因为某个源文件的依赖没编译报错。
作者
Author:
啊不错的飞过海    时间: 2023-5-31 15:23
得到的程序上不会有问题。编译就是源代码翻译机器码,源代码都一样、编译器也都一样,不会因为并行一下就修改翻译规则。
但可能出现依赖未满足*导致编译中断的现象,此时需要直接**再运行make -j——所以make并行编译的话需要人盯着,有些人不喜欢这样。

*比如a依赖b,b依赖c,两个编译进程尝试同时编译a和b时候a的那个的依赖就未满足。依赖是否完成编译是编译器检查的,未满足会直接返回错误退出并带动make程序退出。
**直接:指不需要干别的:清理临时文件,调整编译选项等等。不需要!




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3