linux64 gaussian 16,Gaussian 16 运行与硬件配置参考
一. Gaussian 16的主要更新
Gaussian系列软件最新的版本为Gaussian
16(G16, 高斯16) Revision A.03, 简称G16 A.03。G16的主要更新包括:
支持TD频率、TS优化与IRC计算
非简谐振动光谱
电子振动光谱等
EOMCC优化
支持GPU计算提高性能
支持Fortran、C、Perl与Python的接口
二. 关于应用
NVIDIA GPU支持Hartree-Fock与DFT计算,性能细节参见性能部分。
提高了大量CPU并行的性能,更多细节与如何优化多CPU、集群与GPU性能参见性能部分。
link0(%)部分的输入参数与Default.Route文件的输入参数现在也可以通过命令行或环境变量来设定,更多细节可参见输入部分。
除了图形界面外与命令行界面外,还提供了Fortran,C,Perl与Python接口。
三. 关于预设值的改变(与Gaussian 09比)
在Gaussian 16里使用了不同于Gaussian 09的预设参数/值:
a. 积分精度由10^-10变为10^-12
b. DFT格点(DFT grid)由FineGrid变为UltraFine;
CPHF的预设格点由CoarseGrid变为SG1
c. SCRF预设为IEFPCM的对称形式(symmetric form, 在Gaussian
09里没有)而不是原先的非对称版本(non-symmetric)
d. 物理常数不再使用2006版的值而是使用2010版的值
e. 使用G09Defaults关键字可以将预设值设为Gaussian 09的值(与Gaussian
09兼容),但是在新的研究中强烈建议使用新的参数。
G16预设的内存为%mem=100mw。但对于更大的分子获更多的CPU核心数时,应当使用更大的值,详情参见性能部分
注:对32BIT机器而言1mw=3.81mb;对64BIT机器而言1mw=7.63mb。
TDDFT频率计算默认情况下采用解释解,比Gaussian 09的数值解速度更快。
四. 关于输入部分的改变
大部分控制Gaussian 16操作的选项有4种方式:
通过输入文件的link0输入(%-行)
通过命令行输入
通过环境变量输入
通过Default.Route文件输入
在搜索Default.Route文件时候,先搜索默认目录,再搜索Gaussian
16可执行路径的目录(环境变量GAUSS_EXEDIR, 指向$g16root/g16)。
控制G16预设值的参数如下:
输入行
命令行
环境变量
Default.Route
含义
%cpu=...
-c="..."
GAUSS_CDEF "..."
-C- ...
which CPUs to use
%gpucpu=...
-g="..."
GAUSS_GDEF "..."
-G- ...
which GPUs to use and bind to which CPUs.
%usersh
-s="rsh"
GAUSS_SDEF "rsh"
-S- rsh
Linda should use rsh to start workers
%usessh
-s="ssh"
GAUSS_SDEF "ssh"
-S- ssh
Linda should use ssh to start workers
%lindaworkers=...
-w="..."
GAUSS_WDEF "..."
-W- ...
which nodes to use with Linda
-r="..."
GAUSS_RDEF "..."
-R- ...
defaults for route
-h="..."
GAUSS_HDEF "..."
-H- ...
hostname for archive entry
-o="..."
GAUSS_ODEF "..."
-O- ...
organization/site for archive entry
GAUSS_FDEF "..."
-F- ...
default type for formchk (-c, -3, etc.)
GAUSS_UDEF "..."
-U- ...
default memory size for utilities.
#
-x="..."
GAUSS_XDEF "..."
complete route for job (no route section will be read from the
input file).
%chk=
-y="..."
GAUSS_YDEF "..."
checkpoint file for job.
%rwf=
-z="..."
GAUSS_ZDEF "..."
read-write file for job.
在G16中不再推荐使用%nprocshared与%nprolinda来控制作业。
五. 并行与性能部分
I.共享内存并行(Shared-memory parallelism, SMP)
大的内存有利于大的分子或者基组的计算
含有50或更多个原子的计算以及500或更多基函数的计算推荐每个核心配4GB的内存。命令freqmem可以用于预估基态频率计算每个核心所需的最优内存,同样的内存大小也适合于激发态频率计算;这个内存大小对于对应的基态与激发态来说时绰绰有余的。
所需内存的大小随着所用CPU核心数的增加而线性增加:如果每个核心4GB的内存是合理的,那么8个核心的时候,就应该用32GB。
对于更大的频率计算、大的CCSD以及EOM-CCSD能量计算时,还需要留出足够的内存用于缓冲大文件的硬盘缓冲。所以,给Gaussian作业设定内存大小时不宜超过系统总内存的50~70%。比如,一台机器,其内存为128GB,那么全部的CPU核心数加起来分配的内存需要给出在64-80GB之间,以便为操作系统留出足够的内存作为硬盘缓冲使用。
线程切换与开销
线程切换(线程从一个CPU切换到另一个CPU)时存在效率损失,从而使得缓冲失效以及引起其它线程开销。在大部分机器上,Gaussian将线程绑定到特定的CPU上,这是推荐的作业模式,尤其是用大量的CPU核心计算的时候。Link0的%CPU行可以指定特定CPU的核心号。因此,在一个8核的机器芯片上用%cpu=0-7而不用%nproc=8,因为前者将第一个线程指派给CPU
0(核心 0),下一个给CPU 1,如此类推。
早期的Intel处理器(Nehalem或更早期的处理器)由于内存带宽不够而没有办法让一个芯片(CPU)上的全部CPU核心处于忙碌状态,通常只利用一半的CPU核心,而内存设定为两倍就像全部CPU核心都被使用了一样。比如一台4路12核(4个CPU,每个CPU含有12个核心)、128GB内存的计算机,该机器具有48个CPU核心:第一个CPU的0-11号CPU核心,第二个CPU的12-23号CPU核心,
第三个CPU的24-35号核心,第四个CPU的36-48核心等等。对于这样的机器,最佳的CPU与内存分配方案是:24核心(每个CPU6个核心)、每核心3GB内存(72/24=3GB内存每核心)而不是48核心与1.5GB每核心内存的计算方案。那么输入文件为:
%mem=72GB
%CPU=0-47/2
其中/2的意思是每隔一个核心使用,比如第一个CPU(0
号CPU)核心号为0、2、4、6、8、10的CPU核心,第二个CPU(1号CPU)核心号为12、14、16、18、20、22的CPU核心等等。
较新的Intel处理器(Haswell或更新的CPU)其内存带宽足够,可以让全部的CPU跑起来。
只要内存足够,线程绑定到指定的核心,那么对大分子的并行效率在64或更多核心数时相当良好。
超线程对Gaussian没有用处
如果超线程没有关闭,那么每个Gaussian作业在一个物理核心上只能用一个线程。在Linux操作系统里,不同处理器的超线程被组合在一起。假设有一个机器有两颗CPU(CPU
0, CPU 1)、每颗有8个物理核心、共32个“核心”。那么,0-7为CPU 0的8个核心,8-15为CPU 2的8个核心;
16-23为CPU 0的第二个超线程,24-31为CPU
1的的第二个超线程。所以,该机器最佳的CPU使用方式为%CPU=0-15。
II.集群并行(Cluster/Linda)并行/跨节点并行
关于集群并行/跨节点并行
Hatree-Fock与DFT的能量、梯度、频率计算以及MP2的能量、梯度计算支持集群跨节点并行。MP2频率、CCSD、EOM-CCSD能量及优化仅支持SMP并行而不支持集群跨节点并行。诸如DFT不对称频率、CCSD频率的数值解支持集群内跨节点并行计算。
共享内存与集群并行可以组合使用
总的来说,可以让集群内每个节点的全部CPU进行共享内存并行。注意,%cpu与%mem指的是集群中每个节点的计算资源。假设有个集群含3个计算节点a、b与c,每个节点配有两颗8核CPU:
%mem=64GB
%cpu=0-15
%lindaworkers=a,b,c
#p b31yp/6-31g* freq
上面的输入文件请求到的计算资源为:三个计算节点(a,b,c)、每个节点16核心(共48核心)、每个核心4GB内存。
在数值微分的计算里(Freq=Anharm, CCSD Freq等),需要设定一个额外的CPU核心去搜集结果
所以,前面的那个例子,如果进行不对称频率计算,输入文件如下:
%mem=64GB
%cpu=0-15
%lindaworkers=a:2,b,c
#p b31yp/6-31g* freq=anharm
其中, 假设g16从节点a开始执行。在节点a会启用两个核心,其中给一个用于收集结果,另一个以及节点b与c的核心用于频率计算。
III. GPU的使用
Linux版的Gaussian 16支持NVIDIA K40与K80 GPU显卡计算
早期的显卡由于计算性能不足以及内存不够而不能用于Gaussian
16的计算。比之CPU计算,内存对GPU计算显得更加重要。K40或K80具有高达16GB的内存并尽可能的将这个资源用于Gaussian计算,这就需要有同样大小的系统内存用于CPU线程使用。如果12GB的GPU配8或9GB系统内存、16GB的GPU配置11-12GB的系统内存工作的相当好。
使用GPU时需要有特定的CPU对GPU进行控制,这个CPU应该在物理上越靠近被它控制的GPU越好
用nvidia-smi命令可以检查硬件配置。比如,一台具有双16核心Haswell
CPU、4张K80显卡的机器机器其输出如下:
重点是其中的CPU亲和力(CPU affinity)。上述输出说明GPU 0与1(在第一个K80卡上)。
对于小的作业GPU计算并无优势,对于大的分子进行DFT能量、梯度以及频率(基态与激发态)计算时才显示出优势。诸如MP2或CCSD之类的Post-SCF计算效率不高。
与一个CPU相比,每个GPU的计算速度是CPU的好几倍。但是,一台机器上的CPU数量通常比GPU多很多,尽可能地利用全部的CPU与GPU进行计算是很重要的事,那么从GPU上获得的加速就会减少,因为多CPU计算自身的效率也是很高的。比如,如果1张GPU比一个CPU速度快5倍,那么从1个CPU到1个CPU+1个GPU的加速将会是5倍,但是从32CPU到32CPU+8个GPU的加速为32CPU—>24CPUs
+ 8 GPU, 等于24 + 5 x 8 = 64 CPU, 加速比为64/32或2x。
可以利用集群中多个节点上的GPU进行计算。因为%cpu与%gpucpu用于集群中的每个节点,因此,每个节点必须配置一模一样(GPU数量,CPU亲和力)。
注:G16不支持多个GPU跨节点并行计算。
IV. CCSD, CCSD(T)以及EOM-CCSD 计算
这些计算可以使用内存来避免I/O以提高效率。如果有O个活性占据轨道(active occupied orbitals,
NOA)与V个虚轨道(virtual orbitals, NVB), 那么所需的内存大约为9 x O^2 x V^2 words
(1mw =3.81gb)。这不取决于所用的计算核心数。
linux64 gaussian 16,Gaussian 16 运行与硬件配置参考相关推荐
- 鸿鹄安装-硬件配置参考
作者:龙哥 作者简介:一个让炎凰性能更加强劲的工程师 为了提供敏捷高效的数据分析模式,助力广大开发者(研发人员.数据分析师.数据科学家等)体验高效数据处理服务,炎凰数据推出免费社区版一站式异构数据分析 ...
- 从深度学习计算过程来分析深度学习工作站\服务器的硬件配置
柯洁和AlphaGo的故事已经结束,输赢显得并不重要,这个天才少年曾落泪哽咽:它太完美我看不到希望.搭载谷歌无人驾驶技术的车辆已经完成200万英里的测试,如今它打算要载人了,无人驾驶真的已经不远.在苹 ...
- 结构、流体、热分析、多物理场耦合、电磁仿真硬件配置推荐2018
(一)有限元分析介绍 有限元分析(FEA)借助高性能计算机工具,用"数值近似"和"离散化"方法对真实物理系统(几何和载荷工况)进行模拟,如求解结构.热传导.电磁 ...
- 2018结构、流体、热分析、多物理场耦合、电磁仿真计算特点与硬件配置方案分析
2018结构.流体.热分析.多物理场耦合.电磁仿真计算特点与硬件配置方案分析 主要内容 1.有限元分析概述 2.有限元分析模拟计算过程分析与计算特点 2.1有限元前处理(建模.网格划分)计算 ...
- 史上最全虚拟现实VR(视景仿真/系统仿真/可视化)工作站硬件配置方案
主要内容 第一章 虚拟现实(视景仿真.系统仿真.可视化)系统介绍 第二章 虚拟现实系统对硬件技术要求 第三章 行业应用VR工作站配置方案 VR应用1-视景仿真与训练工作站配置方案 ...
- 最合理2019年4K/6K/8K影视后期工作站硬件配置方案
目录 1)8K视频市场应用前景 2)8K视频无压缩.压缩存储分析 3) 8K视频后期处理计算特点与硬件配置分析 4)8K影视后期处理工作站硬件配置推荐 8K(7680x4320)或8K DCI(819 ...
- Pix4Dmapper无人机航测之3D数据处理工作站硬件配置方案
摘要 随着无人机技术的发展,用它来进行地形图绘制和3D建模越来越流行.大家都熟知的Pix4Dmapper是佼佼者.本文介绍了从低到高适用于各种情况的电脑/服务器硬件配置方案. 1.前言 随着无人机技术 ...
- AD5686R(16位高精度DAC)硬件和程序设计
AD5686R(16位高精度DAC)硬件和程序设计 目录 AD5686R(16位高精度DAC)硬件和程序设计 前言 简介 硬件设计 硬件设计 代码移植部分 API部分 芯片性能 开源地址 前言 由 ...
- 【SemiDrive源码分析】【X9 Audio音频模块分析】16 - 音频模块框图及硬件原理图分析
[SemiDrive源码分析][X9 Audio音频模块分析]16 - 音频模块框图及硬件原理图分析 一.X9HP 音频模块框图及硬件原理图分析 1.1 音频接口 I2S 介绍 1.2 X9 平台音频 ...
- 如何在 ubuntu 16.04上运行jar文件
如何在 ubuntu 16.04上运行jar文件 sudo apt-get update 1 安装依赖包 sudo apt-get install python-software-properties ...
最新文章
- 虚函数中的变量作用域问题
- [Leetcode]50. Pow(x, n)
- LeetCode-动态规划背包题-1049. 最后一块石头的重量 II
- bytebuf池_Netty默认的Bytebuf是堆内还是堆外?池化or非池化?
- ASP.NET MVC下使用SWFUpload完成剪切头像功能
- 有一种无耻叫 “我是为你着想”
- 每天一个linux命令(1):ln 命令
- 解决Error: That port is already in use.
- matlab求感知距离的命令,感知机算法(MATLAB)
- transient关键字和volatile关键字
- 程序员正在抛弃 Facebook
- ZInt支持中文例子
- 逻辑回归实现鸢尾花分类
- html5 logo背景透明度,使用纯洁的CSS实现HTML5的新logo
- Python自做的一个zabbix_sender程序
- IP协议详解之头部结构
- Rabbit安装及简单的使用
- Vscode下载与配置(C语言)
- 【力扣刷题——字符串】附力扣链接、题目描述、解题方法及代码(344、541、剑指Offer05、151、剑指 Offer58、28、459)后续再补充
- jenkins + UIAutomation 自动化脚本运行app
热门文章
- CSND帐号居然又能用了,发个文章庆祝一下
- VMware Cloud Director Availability 4.3 下载 | 灾难恢复和迁移 | DRaaS
- 操作系统期末复习【超实用】
- Disease Ontology:人类疾病分类数据库
- 工时管理php,现场管理:标准工时和产能如何计算
- 谁说中国没有 Linus?中国初代 IT 宗师封神榜
- 这份好用视频拼接的软件干货分享,值得收藏
- 我的小米云端账号服务器,#小米开放云#免费云服务器安装Windows系统
- 金蝶K3销售退货案例教程
- ccfb类会议有哪些_CCF推荐的国际学术会议和期刊目录修订版发布