我可以: 邀请好友来看>>
ZOL星空(中国) > 技术星空(中国) > 服务器综合讨论星空(中国) > 预编译选项
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

预编译选项

13浏览 / 0回复

宝禄,计算

宝禄,计算

0
精华
36
帖子

等  级:Lv.5
经  验:4837
  • Z金豆: 514

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:北京
  • 注  册:2023-04-10
  • 登  录:2024-05-24
  • 一举成名
  • 初领任务
发表于 2023-06-13 09:33:46
电梯直达 确定
楼主

预编译器标志用于在编译时激活/停用某些代码功能,例如 MPI 的使用、高级分子动力学功能等。许多预编译器标志在为 mak-e-file.include 文件提供的模板中默认设置。命令如下:

CPP

调用您要使用的预编译器的命令,例如:

· 使用 Intel 的 Fortran 预编译器:

CPP=fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)

· 使用 cpp:

CPP=/usr/bin/cpp -P -C -traditional $*$(SUFFIX) >$*$(SUFFIX) $(CPP_OPTIONS)

注意: 这个变量必须包括$(CPP_OPTIONS). 如果没有,CPP_OPTIONS将被忽略!

CPP_OPTIONS

指定预编译器标志:

CPP_OPTIONS=[-Dflag1 [-Dflag2] ... ]

Mind: CPP_OPTIONS仅在mak-e-file.include中使用,它被添加到变量中CPP

 

内容

· 1个默认

· 1.1-DHOST=[字符串]

· 1.2-DMPI

· 1.3-Duse_collective

· 1.4-DMPI_BLOCK=[整数]

· 1.5-DscaLAPACK

· 1.6-DCACHE_SIZE=[整数]

· 1.7-Davoidalloc

· 1.8-Dvasp6

· 1.9-Dtbdyn

· 1.10-Dfock_dblbuf

· 1.11-D_OPENMP

· 2个特定于 GPU 的 OpenACC 端口

· 2.1-D_OPENACC

· 2.2-DUSENCCL

· 2.3-DUSENCLP2P

· 2.4-Dqd_emulate

· 3个选修的

· 3.1-DVASP_HDF5

· 3.2-Duse_shmem

· 3.3-Dshmem_bcast_buffer

· 3.4-Dshmem_rproj

· 3.5-Dsysv

· 3.6-DVASP2WANNIER90

· 3.7-Dlibbeef

· 3.8-DDFTD4

· 3.9-D剖析

· 3.10-DUSELIBXC

· 3.11-DLAPACK36

· 4个弃用

· 4.1-DnoAugXCmeta

· 4.2-DVASP2WANNIER90 和 -DVASP2WANNIER90v2

· 5个相关文章

默认

-DHOST=[字符串]

描述编译 VASP 的平台的字符串(最多 20 个字符),例如, -DHOST="LinuxIFC"对于使用 Intel Fortran 编译器的 Linux 主机。

-DMPI

(必填项)设置为编译并行版本的VASP。

-Duse_collective

将其设置为在所有通信和全局求和中使用 MPI 集合。

如果指定了这一点,则 MPI_BLOCK(如下)的值将毫无意义。

-DMPI_BLOCK=[整数]

指定内部 MPI 全对全通信和全局总和使用的块大小。

-DscaLAPACK

将其设置为使用 scaLAPACK。

-DCACHE_SIZE=[整数]

指定高速缓存的大小。仅供内部实数到复数 FFT 例程 (fft3dlib.F) 使用。

默认情况下不再使用这些,而是使用 fftw3 中的实数到复数 FFT 例程。

-Davoidalloc

将其设置为在与真实空间投影运算符相关的许多例程中使用自动而不是可分配数组。

-Dvasp6

设置此项以激活所有 VASP.6.XX 特定功能。

-Dtbdyn

添加高级分子动力学例程。

-Dfock_dblbuf

使用双缓冲技术计算交换势。从 VASP.6 开始可用,CUDA-C GPU 端口不适用。

-D_OPENMP

(可选)打开MPI 和 OpenMP 的组合以进行并行化

特定于 GPU 的 OpenACC 端口

-D_OPENACC

强制性:激活所有与 OpenACC 相关的代码路径。

-DUSENCCL

强制性:使用 NVIDIA Collective Communications Library (NCCL) 而不是 MPI 来进行集体归约操作 (MPI_Allreduce) 的相关实例。

-DUSENCLP2P

可选但强烈推荐(要求 NCCL >= 2.7.8):使用 NVIDIA 集体通信库 (NCCL) 而不是 MPI 来进行所有操作的相关实例 (MPI_Alltoallv)。

-Dqd_emulate

强制性:要编译 OpenACC GPU 端口,您需要 NVIDIA HPC-SDK 或最新版本 (>= 19.10) 的 PGI 编译器和工具。这两种编译器本身都不支持四倍精度,需要使用 QD 库来模拟四倍精度算术。

选修的

-DVASP_HDF5

(强烈推荐)设置此项以添加对读写 HDF5 文件的支持。此选项自 VASP 6.2.0 起可用。

-Duse_shmem

使用共享内存段来减少GW(ALGO = EVGW0、EVGW、QPGW0 和 QPGW)机器学习力场计算的内存需求。

-Dshmem_bcast_buffer

使用共享内存段来减少混合功能计算中的 MPI 通信量。

-Dshmem_rproj

使用共享内存段来减少真实空间 PAW 投影仪的存储需求。

-Dsysv

使用ipcs 共享内存段和system-V信号量。

-DVASP2WANNIER90

将其设置为包括 VASP 和 Wannier90 之间的接口。

弃用:对于 VASP<6.2.0,请参阅下面弃用部分中的 -DVASP2WANNIER90 和 -DVASP2WANNIER90v2 !

-Dlibbeef

将其设置为包括 BEEF 类的范德瓦尔斯泛函。

注意:需要将libbeef 添加到 mak-e-file.include 中

-DDFTD4

将其设置为包含 DFTD4 范德瓦尔斯泛函。

请注意,您需要安装 DFTD4 并将其添加到 mak-e-file.include 中

-D剖析

打开代码的详细分析。这带来了(轻微的)性能损失。

-DUSELIBXC

将其设置为包含交换相关泛函 Libxc 库。

请注意,您需要安装 Libxc >= 5.2.0(或来自gitlab的主版本以获得最新实现的功能)--disable-fhc并将其添加到 mak-e-file.include 中

-DLAPACK36

LAPACK-3.6.0和更新版本需要用DGGEV替换已弃用的例程DGEGV

弃用

弃用: -DNGZhalf ,-DwNGZhalf,-DNGXhalf,-DwNGXhalf是弃用的选项。如安装 VASP.6.XX中所述,通过 make 命令的附加参数指定构建标准、仅伽马或非共线版本的代码。

-DnoAugXCmeta

添加此选项是为了计算来自非增强伪密度(而不是增强密度)的元 GGA 贡献。有一个条件涉及 von-Weizs?cker 动能密度(电荷密度的二阶导数)和根据 TPSS 和 revTPSS 中根深蒂固的轨道计算的动能密度的行为。当增加电荷密度时,可能会严重违反这一条件。对于 TPSS 和 revTPSS,泛函在这些情况下会变得不稳定。SCAN 及其衍生物(RSCAN、R2SCAN 等)不假设上述条件得到满足,并且对于增广密度也保持稳定,因此不应使用此选项,因为它可能会对最终结果产生负面影响。

-DVASP2WANNIER90 和 -DVASP2WANNIER90v2

将其设置为包括 VASP 和 Wannier90 之间的接口。

VASP 6.1.x 之前,您需要设置 -DVASP2WANNIER90 以与 Wannier90 v.1.x 连接,并为 Wannier90 v.2.x 设置 -DVASP2WANNIER90v2,并将 Wannier90 库添加到 mak-e-file.include。

VASP 6.2.0 开始,您需要设置 -DVASP2WANNIER90 以与 Wannier90 v.2.x 或 v.3.x 交互。

 


高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表