| 查看: 781 | 回复: 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 = ..你的对象列表.. |
» 猜你喜欢
职称评审没过,求安慰
已经有41人回复
回收溶剂求助
已经有7人回复
硝基苯如何除去
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
求助文献
已经有3人回复
三无产品还有机会吗
已经有6人回复













回复此楼