精品亚洲国产欧美不卡一区二区,免费无码黄动漫十八禁,男人免费桶女人30分钟视频,国产免费毛卡片

Loading...

上海繹模信息科技有限公司

eMolTech,計算科學(xué)的領(lǐng)航者

新聞通知

Gaussian 16 A.03 Release Notes


發(fā)布時間:2017-02-03
關(guān)鍵詞:Gaussian 16 A.03 Release Notes

  • 新功能
  • 與Gaussian 09區(qū)別
  • GPUs的使用
  • 并行性能
  • CCSD性能
  • Link0中的等價定義
  •  

    新功能

    新模擬方法

    ◆  TD-DFT 激發(fā)態(tài)計算支持解析頻率(frequencies, IR及Raman)、過渡態(tài)優(yōu)化(TS)及內(nèi)稟反應(yīng)坐標(biāo)計算(IRC)。

    ◆  EOMCC 耦合簇運動方程(EOM-CC)方法支持結(jié)構(gòu)優(yōu)化。

    ◆  VCD及ROA光譜支持非諧振計算,請參考 Freq=Anharmonic。

    ◆  支持電子振動光譜計算,請參考 Freq=FCHT 及相關(guān)選項。

    ◆  支持共振拉曼光譜計算,請參考 Freq=ReadFCHT

    ◆  新密度泛函方法: M08 familyMN15MN15L。

    ◆  新雙雜化泛函方法:DSDPBEP86, PBE0DH及PBEQIDH。

    ◆  PM7 半經(jīng)驗方法。

    ◆  Adamo激發(fā)態(tài)電荷轉(zhuǎn)移分析,請參考 Pop=DCT。

    ◆  Caricato耦合簇運動方程(EOM-CC)溶劑化迭代模型,請參考 SCRF=PTED。

    ◆  廣義內(nèi)坐標(biāo):可以任意定義內(nèi)坐標(biāo)用于限制性優(yōu)化或者其它目的,請參考 Geom=GIC 及GIC Info

     

    性能提升

    ◆  Hartree-Fock及DFT計算在Linux系統(tǒng)下支持NVIDIA K40及K80 GPUs. 具體請參考 Using GPUs。

    ◆  多核芯(數(shù)量較多)處理器的并行效率已經(jīng)得到提升。對于多CPUs及集群如何優(yōu)化性能請參考 Parallel Performance。

    ◆  Gaussian 16使用優(yōu)化的內(nèi)存算法來避免CCSD迭代時的磁盤讀寫。

    ◆  GEDIIS優(yōu)化算法效率已得到提升。

    ◆  CASSCF 方法活性空間≥ (10,10) 的計算性能得到提升并可以擴(kuò)展至16個軌道(取決于分子類型)。

    ◆  W1 組合方法的核相關(guān)能(core correlation energies)計算速度得到巨大提升。

    ◆  Gaussian 16 對于復(fù)合電子傳播(composite electron propagator, CEP, DiazTinoco16)方法中的對角化、二階自能量近似(second-order self-energy approximation, D2)的計算性能得到巨大提升。請參考 EPT.

     

    用法提升

    ◆  提供其它軟件的接口工具,包括匯編語言(Fortran和C)以及解釋語言(Python和Perl)。具體細(xì)節(jié)請參考 Interfacing to Gaussian 16

    ◆  輸入文件Link 0 (%)中以及/或者 Default.Route 文件中的相關(guān)參數(shù)目前也能夠通過命令行形式或者環(huán)境變量指定。具體細(xì)節(jié)請參考 Link 0 Equivalences。

    ◆  優(yōu)化過程中可以指定每N步重新計算力常數(shù)。請參考Opt=Recalc。

     

     

  • Gaussian 09的區(qū)別

    默認(rèn)參數(shù)

    下列默認(rèn)參數(shù)在Gaussian 16中與Gaussian 09不同:

    ◆  積分精度為10-12 而不是Gaussian 09中的10-10

    ◆  DFT 默認(rèn)格點為 UltraFine 而不是 G09中的FineGrid;CPHF默認(rèn)格點為 SG1 而不是 CoarseGrid。具體細(xì)節(jié)請參考Integral。

    ◆  SCRF 默認(rèn)為IEFPCM的對稱形式(symmetric form of IEFPCM) [Lipparini10] (Gaussian 09中沒有此功能)而不是非對稱形式。

    ◆  物理常數(shù)使用2010版而不是Gaussian 09中的2006版。

    前兩項變化是為了保證一系列新方法的精度(如TD-DFT頻率, 非諧振ROA),因此使用 Integral=(UltraFine,Acc2E=12) 作為默認(rèn)選項。使用這些設(shè)置一般能提高數(shù)值積分的可靠性,比如溶劑化模型下的DFT優(yōu)化。相比于Gaussian 09的默認(rèn)值Integral=(FineGrid,Acc2E=10),此設(shè)置對CPU的需求稍有升高。

    G09Defaults 關(guān)鍵詞能夠把上述默認(rèn)值重新定義為Gaussian 09 默認(rèn)值。它提供了與此前計算的兼容性,但對于新的計算我們推薦使用新的默認(rèn)值。

     

    默認(rèn)內(nèi)存值

    Gaussian 16 默認(rèn)內(nèi)存為 %Mem=100MW (800MB)。使用多核計算大分子體系時使用更大的內(nèi)存更為適合。具體細(xì)節(jié)請參考 Parallel Jobs

     

    TD-DFT頻率

    TDDFT 頻率在計算二階導(dǎo)數(shù)時默認(rèn)使用解析二階導(dǎo)數(shù),這比數(shù)值導(dǎo)數(shù)快很多(數(shù)值導(dǎo)數(shù)在Gaussian 09中是唯一選項)。

     

  • GPUs的使用

    Gaussian 16 在Linux系統(tǒng)下支持 NVIDIA K40及K80 GPUs。較早的GPUs不具備計算能力或者足夠的內(nèi)存來運行Gaussian 16。Gaussian 16目前還不支持Tesla-Pascal系列顯卡。

     

    作業(yè)內(nèi)存分配

    GPUs在計算時需要分配足夠的內(nèi)存,這比使用CPUs計算時更重要,因為高效使用GUPs時會有大量任務(wù)同時運行。K40和K80系列顯卡擁有高達(dá)16 GB內(nèi)存,一般情況下,大部分內(nèi)存都應(yīng)當(dāng)用于Gaussian程序。比如每個GPU有12GB內(nèi)存時,給Gaussian分配8-9 GB內(nèi)存效果比較好;同理,每個GPU有16GB內(nèi)存時,給Gaussian分配11-12 GB內(nèi)存效果比較好。此外,每個CPU線程至少需要分配相同的內(nèi)存用于控制GPU。

     

    關(guān)于CPUs控制

    當(dāng)使用GUPs時,每個GPU必須由一個特定的CPU控制。該CPU應(yīng)該在物理架構(gòu)上更靠近所控制的GPU,并且GPUs不能共享CPUs控制。另外需要注意,用于控制GPUCPUs 不能再用于做計算節(jié)點。

    在裝有GUPs的系統(tǒng)上查看硬件架構(gòu)可以使用 nvidia-dmi 功能。例如,下面演示的是雙芯片16核Haswell CPU及三芯片K80板(每個板擁有2個GPUs)的架構(gòu):

    GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7 CPU  Affinity
    GPU0    X  PIX  SOC  SOCSOCSOCSOCSOC0-15        第一塊芯片上的核
    GPU1  PIX    X  SOC  SOCSOCSOCSOCSOC  0-15
    GPU2  SOC  SOC    X  PIX  PHB  PHBPHBPHB16-31   第二塊芯片上的核    
    GPU3  SOCSOC  PIX    X  PHB  PHBPHBPHB  16-31 
    GPU4  SOCSOC  PHB  PHB    X  PIX  PXB PXB  16-31
    GPU5  SOCSOC  PHB  PHB  PIX    X  PXB PXB  16-31
    GPU6  SOCSOC  PHB  PHB  PXB  PXB    X PIX  16-31 
    GPU7  SOCSOC  PHB  PHB  PXB  PXB  PIX   X  16-31

    示例中最重要的部分是CPU親密度(CPU affinity)。此例中顯示 GPUs 0和1 (第一塊K80卡) 與第一塊CPUs芯片相連,而GPUs 2-7 (第二塊K80卡) 與第二塊CPUs芯片相連。

     

    為Gaussian 作業(yè)指定GPUs及CPUs控制

    用于計算的GPUs及用于控制的CPUs可通過Link 0 部分使用%GPUCPU 命令指定。此命令有一個參數(shù):

    %GPUCPU=gpu-list=control-cpus

    其中 gpu-list GPU列表(用逗號隔開),也可以是數(shù)值范圍(例如, 0-4,6);control-cpus 為相似格式的控制CPU列表,這兩列的內(nèi)容是GPU及控制CPU。

    例如, 在配有6 GPUs的32核系統(tǒng)里,給一個作業(yè)分配所有CPUs (26 CPUs用于做部分計算) 及6CPUs用于控制GPUs可以在Link 0 部分使用如下命令:

    %CPU=0-31                               控制CPUs也在此列表中。             
    %GPUCPU=0,1,2,3,4,5=0,1,16,17,18,19                             

    上述命令定義 CPUs 0-31 將用于此作業(yè)(盡管并不是所有CPUs都用于計算)。此作業(yè)將使用GPUs 0-5,并且CPU 0控制GPU0,CPU 1控制GPU1,CPU 16控制GPU2,CPU 17控制GPU3等等。注意控制CPUs也包含在%CPU列表中。

    在上例中, GPU及CPU列中可以表述的更加簡潔:

    %CPU=0-31                                      
    %GPUCPU=0-5=0-1,16-19                                 

    一般情況下我們都使用連續(xù)編號的核,但在一些特殊情況下并非如此。例如,假設(shè)在同一臺機(jī)器上已經(jīng)有一個作業(yè)占用了6 CPUs,使用的是%CPU=16-21。那么,如果想要使用其它26 CPUs 并且其中6個用于控制GPUs,可以使用如下定義:

    %CPU=0-15,22-31                   &nnbsp;       
    %GPUCPU=0-5=0-1,22-25                                 

    這個作業(yè)將會使用26個核,其中20個核用于計算,6個核用于控制GPUs (分別為CPUs 0, 1, 22, 23, 24, 25)。

     

    GPUs及其性能

    在對大分子體系進(jìn)行DFT能量、梯度及頻率(適用于基態(tài)及激發(fā)態(tài))計算時,GPUs性能才有較好體現(xiàn)。小分子體系計算時并不能體現(xiàn)GPUs性能。此外,在后自洽場(post-SCF)計算中(例如MP2或CCSD),使用GPUs效果并不明顯。

    單個GPU計算速度比單個CPU快許多倍。但如今的機(jī)器往往CPUs數(shù)目遠(yuǎn)超過GPUs,因此只有使用所有的CPUs及GPUs才能獲得最好的性能。

    在某些情況下,GUPs預(yù)期加速效果會受到抑制,因為Gaussian 16將會使用到更多的CPUs。例如,假設(shè)GPU計算速度比CPU快5倍,那么使用GPU的計算速度相比于CPU將會是5倍。但是在一臺配備32CPUs及8GPUs的大型服務(wù)器下使用GPUs的預(yù)期加速效果卻是2倍:

    Without GPUs: 32*1 = 32
    With GPUs: (24*1) + (8*5) = 64          注意控制CPU并沒有參與計算
    Speedup: 64/32 = 2

    所以你必須認(rèn)真考慮你的服務(wù)器配置及環(huán)境來決定該如何使用CPUs及GPUs

     

    集群下的GPUs

    支持集群中節(jié)點上的GPUs。因為 %CPU and %GPUCPU 只是定義了每個節(jié)點中的情況,因此要求每個節(jié)點有相同的配置,不過一般情況下集群中的節(jié)點配置都是相同的,所以通常這不是問題。

     

  • 并行性能

    共享內(nèi)存并行(Shared-memory parallelism)

    內(nèi)存分配。大分子體系使用大基組計算時,分配更多的內(nèi)存計算速度將更快。對于50個或者更多原子體系及/或500個或更多基函數(shù)的體系建議每個核分配4 GB內(nèi)存。freqmem 功能可以估計基態(tài)及激發(fā)態(tài)頻率計算中單個線程所需要的內(nèi)存大小。所需內(nèi)存要按照使用的核數(shù)遞增,比如單核需要4GB,則8CPUs則需要32GB。當(dāng)然,有些特殊硬件在內(nèi)存大小上受到限制,但是內(nèi)存需求隨著核數(shù)目的增長而線性增加是理想的目標(biāo)。值得注意的是,在內(nèi)存固定不變的情況下,隨著核數(shù)目增加(較多核情況下)計算性能無法提高。

    對于大體系頻率計算及大體系(相對而言)CCSD和EOM-CCSD能量計算,建議有足夠的內(nèi)存用來緩存大的磁盤文件。因此,Gaussian作業(yè)建議使用系統(tǒng)總內(nèi)存的50-70%。例如,在一臺配有128 GB內(nèi)存的服務(wù)器上,當(dāng)使用所有CPUs時,一般指定64-80 GB,剩下的內(nèi)存則用于系統(tǒng)本身的硬盤緩存。

     

    綁定CPUs線程。當(dāng)線程從一個CPU轉(zhuǎn)到另一個CPU時,會造成緩存無效或者引起其它問題,因此計算效率會明顯下降。在大多數(shù)服務(wù)器上,Gaussian 能夠把線程綁定到特定的CPUs上,特別在使用大量核時,這是推薦模式。Link 0部分的%CPU明確定義了所使用的CPUs數(shù)目,因此在一臺8核的服務(wù)器上,設(shè)定%CPU=0?7  %NProc=8更好,因為前者把第一個線程綁定到CPU 0上,下一個線程綁定到CPU 1,等等。

    在一些老Intel處理器上(Nehalem及之前版本),因其沒有足夠的內(nèi)存帶寬而無法讓所有的CPUs工作,所以推薦使用一半CPUs并分配原來兩倍大小的內(nèi)存。例如,在一臺四芯片12核(CPUs 0-11 位于第一個芯片;12-23 位于第二個芯片,等等)和128GB內(nèi)存的服務(wù)器上,推薦使用24核(每個芯片使用6核)并為每個核指定72 GB/24 procs = 3 GB內(nèi)存,而不是使用全部48核(每個核只有1.5GB內(nèi)存)。輸入文件如下:

    %Mem=72GB
    %CPU=0-47/2

    此處 /2 意味著將會間隔使用核芯,比如cores 0, 2, 4, 6, 8及10 (芯片0), 12, 14, 16, 18, 20及22 (芯片1),等等。

    新的Intel處理器 (Haswell及此后版本)因為內(nèi)存帶寬有明顯改進(jìn),因此使用芯片上所有核進(jìn)行計算時效果較好。

    只要有足夠的內(nèi)存以及每個線程都綁定到特定核時,使用64核甚至更多核計算時效率依然很高。

     

    關(guān)閉超線程。超線程對于Gaussian無效,因為它把同一個物理CPU的資源(比如內(nèi)存帶寬)分割給不同的線程。如果超線程無法關(guān)閉,Gaussian作業(yè)應(yīng)該在每個物理CPU上只使用一個超線程。對于Linux系統(tǒng),不同核的超線程是編組在一起的,比如一臺兩芯片(8核,3路超線程)的服務(wù)器,“CPUs” 0-7 為chip 0上的8核, 8-15為chip 1上的8核,16-23 為chip 0 上8核的第二個線程,等等。因此Gaussian作業(yè)建議指定%CPU=0?15。

     

    集群并行(Linda)

    適用范圍。Hartree-Fock及DFT能量、梯度、頻率計算以及MP2能量和梯度計算能夠在集群上有效并行,而MP2 頻率、CCSD及EOM-CCSD能量和優(yōu)化只支持SMP并行(單節(jié)點)。對于數(shù)值導(dǎo)數(shù)(Numerical derivatives),比如DFT非諧振頻率和CCSD 頻率,支持Linda并行計算。

     

    SMP組合并行。共享式并行及集群并行能夠進(jìn)行組合。一般來說集群中的每個節(jié)點都支持所有CPUs共享內(nèi)存并行。注意 %CPU  %Mem 適用于集群中的每個節(jié)點。因此,如果一臺服務(wù)器有3個節(jié)點,名字為apple, banana cherry,每個節(jié)點有兩個芯片8核,此時可指定:

    %Mem=64GB
    %CPU=0-15
    %LindaWorkers=apple,banana,cherry
    # B3LYP/6-311+G(2d,p) Freq …

    這樣每個節(jié)點將會運行16個線程,在3個節(jié)點上每個線程都綁定到一個核上,并且48個線程中每個線程將獲得4GB內(nèi)存。

    對于一些特殊情況(數(shù)值微分),比如 Freq=Anharm, CCSD Freq,等等—將有另外一個節(jié)點用于收集結(jié)果。因此,這些計算會在管理節(jié)點(Gaussian 16啟動的節(jié)點)同時運行兩個任務(wù),例如計算非諧振頻率,可指定:

    %Mem=64GB
    %CPU=0-15
    %LindaWorkers=apple:2,banana,cherry
    # B3LYP/6-311+G(2d,p) Freq=Anharm …

    此處假設(shè)Gaussian 16在 apple節(jié)點啟動,這里將在apple節(jié)點啟動2個任務(wù),一個僅用于收集結(jié)果,apple節(jié)點其它的核和bananacherry將用于計算。

     

     

  • CCSD性能

    CCSD, CCSD(T)及EOM-CCSD計算內(nèi)存需求

    如果有足夠內(nèi)存來存儲振幅(amplitudes)及矢量積(product vectors),上述計算則可以使用內(nèi)存來避免讀寫錯誤而使計算變得更加高效。如果體系有 NO 個活性占據(jù)軌道(NOA in the output)及NV 個空軌道(NVB in the output),那么所需內(nèi)存則為 9NO2NV2 字節(jié),這與所使用的核數(shù)無關(guān)。

     

     

  • Link 0中的等價定義

    用于控制Gaussian 16運行的許多選項可以使用4種方法指定,其優(yōu)先級從高到低如下所示:

    1. Link 0 輸入 (%-lines):這是一個常用方法,它可以用于控制單個作業(yè)及并且它是多步計算中控制其中一個特定作業(yè)的唯一方式。例如:

    %CPU=1,2,3,4

    2. 命令行:當(dāng)我們想使用不常見方式運行程序的時候此方法比較有用。例如:

    g16 -c="1,2,3,4" …

    3. 環(huán)境變量:此方法對于標(biāo)準(zhǔn)腳本,例如生成和提交作業(yè)到隊列系統(tǒng)時非常有用。例如:

    export GAUSS_CDEF="1,2,3,4"

    4. Default.Route文件:此方法對于我們想改變程序默認(rèn)參數(shù)式非常有用例如:

    -C- 1,2,3,4

    程序會首先檢查當(dāng)前目錄下的Default.Route文件,然后 檢查Gausssian 16運行程序所在目錄,也就是環(huán)境變量GAUSS_EXEDIR所指定的目錄,此目錄一般為 $g16root/g16。

     

    下表列出Link 0中最重要的命令以及他們的等價定義:

    Default.Route

    Link 0

    Option

    Env. Var.

    Description

    Gaussian 16 execution defaults

    -R-

     

    -r

    GAUSS_RDEF

    Route section keyword list.

    -M-

    %Mem

    -m

    GAUSS_MDEF

    Memory amount for Gaussian jobs.

    -C-

    %CPU

    -c

    GAUSS_CDEF

    Processor/core list for multiprocessor parallel jobs.

    -G-

    %GPUCPU

    -g

    GAUSS_GDEF

    GPUs=Cores list for GPU parallel jobs.

    -S-

    %UseSSH

    -s

    GAUSS_SDEF

    Program to start workers for network parallel jobs: rsh or ssh.

    -W-

    %LindaWorkers

    -w

    GAUSS_WDEF

    List of hostnames for network parallel jobs.

    -P-

    %NProcShared

    -p

    GAUSS_PDEF

    #processors/cores for multiprocessor parallel jobs. Deprecated; use -C-.

    -L-

    %NProcLinda

    -l

    GAUSS_LDEF

    #nodes for network parallel jobs. Deprecated; use -W-.

    Archive entry data

    -H-

     

     

    GAUSS_HDEF

    Computer hostname.

    -O-

     

    GAUSS_ODEF

    Organization (site) name.

    Utility program defaults

    -F-

     

     

    GAUSS_FDEF

    Options for the formchk utility.

    -U-

     

     

    GAUSS_UDEF

    Memory amount for utilities.

    Parameters for scripts and external programs

    # section

    -x

    GAUSS_XDEF

    Complete route for the job (route not read from input file).

    %Chk

    -y

    GAUSS_YDEF

    Checkpoint file

    %RWF

    -z

    GAUSS_ZDEF

    Read-write file.

    注意對于命令行與及環(huán)境變量的明確數(shù)值一般需要用引號標(biāo)注,以避免系統(tǒng)shell改變這些參數(shù)。例如:g16 -c="1,2,3,4" …

     

     

Top