| 查看: 769 | 回复: 0 | |||
[交流]
编译器选项
|
|
编译器选项 编译器选项由设置编译器和编译器标志的编译器变量指定。Fortran 编译器将被调用为: $(FC) $(FREE) $(FFLAGS) $(OFLAG) $(INCS) 内容 1个编译器变量 1.1FC 1.2FCL 1.3OFLAG 1.4FFLAGS 1.5OFLAG_IN 1.6DEBUG 1.7INCS 1.8FREE 1.9MPI + OpenMP 并行化 2个特殊规则 2.1FFLAGS_x 2.2OFLAG_x 2.3INCS_x 2.4相关文章 编译器变量 FC 调用 Fortran 编译器的命令(例如gfortran, ifort, mpif90, mpiifort, ... )。 FCL 调用链接器的命令。在多数情况下: FCL=$(FC) [+ 一些选项] OFLAG 一般优化级别(默认值OFLAG=-O2:)。 FFLAGS 额外的编译器标志。例如,要启用调试,可以添加以下行: FFLAGS+=-g OFLAG_IN (默认值:)-O2在绝大多数makefile.include文件中设置了这个变量: OFLAG_IN=$(OFLAG) DEBUG 编译主程序 (main.F) 的优化级别,通常为: DEBUG=-O0 INCS 使用此变量指定要包含在以下意义上的对象: INCS=-I/path/to/directory-with-files-to-be-included FREE 指定您的 Fortran 编译器接受自由格式源代码布局所需的选项,而没有行长度限制。例如: 使用英特尔的 Fortran 编译器: FREE=-free -names 小写 使用 gfortran: FREE=-ffree-form -ffree-line-length-none MPI + OpenMP 并行化 要编译支持 OpenMP 的 VASP,请将以下内容添加到文件中的预编译器标志列表中makefile.include: CPP_OPTIONS += -D_OPENMP 此外,您必须将一些特定于编译器的选项添加到调用 Fortran 编译器的命令(有时还添加到链接器)。 例如,使用英特尔工具链(ifort + 英特尔 MPI)时: FC = mpiifort -qopenmp 特殊规则 当前src/makefile包含一组配方,以允许在不同优化级别编译对象,而不是 指定的一般级别OFLAG。在这些秘籍中,编译器将被调用为: $(FC) $(FREE) $(FFLAGS_x) $(OFLAG_x) $(INCS_x) 其中x代表:1、2、3 或 IN。 FFLAGS_x 默认值:FFLAGS_x=$(FFLAGS)对于 x=1、2、3 和 IN。 OFLAG_x 默认值:(OFLAG_x=-Ox对于 x=1、2、3)和OFLAG_IN=-O2 INCS_x 默认值:INCS_x=$(INCS)对于 x=1、2、3 和 IN。 根据这些配方编译的对象必须通过变量指定:OBJECTS_O1, OBJECTS_O2, OBJECTS_O3,OBJECTS_IN -O1默认情况下会编译多个对象-O2。这些对象列表在/path/to/vasp.XXX/src/.objects文件中通过变量指定:SOURCE_O1, SOURCE_O2, SOURCE_IN。 要完全否决默认设置(例如特殊-O1规则),您可以使用以下结构: SOURCE_O1 = OBJECTS_O1 = ..你的对象列表.. |
» 猜你喜欢
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
孩子确诊有中度注意力缺陷
已经有6人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复
ACS Applied Polymer Materials投稿
已经有10人回复
RSC ADV状态问题
已经有4人回复













回复此楼