分享到:
发表于 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=[-Dflag1 [-Dflag2] ... ]
内容· 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 之间的接口。
-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 中。 -DLAPACK36LAPACK-3.6.0和更新版本需要用DGGEV替换已弃用的例程DGEGV。 弃用
-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 交互。
|
||||
个性签名:宝禄计算
|
针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员 、 查看帮助 或 给我提意见