Apparent bug in MP3 portion of MP4 calculation

From NWChem

Viewed 2833 times, With a total of 17 Posts
Jump to: navigation, search

Jump to page 12Next 16Last
Gets Around
Threads 18
Posts 133
echo

start molecule

title "CN"
charge 0

geometry units angstroms print xyz
 symmetry c1
 C  -0.61234453     0.00000000    -0.00000000
 N   0.52670530     0.00000000    -0.00000000
end

basis spherical
 * library cc-pVTZ
end

scf
 #uhf
 doublet
end

tce
 freeze atomic
 #mp2
 #mp3
 mp4
 #ccsd(t)
end

task tce energy


Rather to my surprise, the mp4 choice here is by far the costliest in RAM and CPU time. All tests ran with 2 CPU cores on a machine with 16 GB physical memory.

Method
GA max memory, megabytes
Wall clock time, seconds
MP2/ROHF2105.0
MP3/ROHF2106.7
MP4/ROHF1361125.4
CCSD(T)/ROHF19414.5
MP2/UHF2104.9
MP3/UHF2107.9
MP4/UHF76826.4
CCSD(T)/UHF19414.6


It is not too surprising that the more frequently used CCSD(T) method appears to be better optimized. It is surprising just how much RAM, especially, the MP4 method takes. It makes it challenging to do even 3 heavy atoms at the triple zeta level on a workstation. Why run MP4 at all when CCSD(T) is more accurate and better optimized? I need it for reproducing others' work, and to implement composite thermochemical methods that incorporate MP4 steps.

EDIT: is there a bug in the MP3 portion of the MP4 calculation? If I run MP3 by itself, the MP3 iterations are much faster than the MP3 portion of an MP4 calculation. Also the initial residuum starts out considerably higher. These excerpts are from the log of the triple zeta ROHF calculation, single-CPU run.

MP2 and MP3 steps of MP3 calculation:
 MBPT(2) iterations
 --------------------------------------------------------
 Iter          Residuum       Correlation     Cpu    Wall
 --------------------------------------------------------
    1   0.0689206701564  -0.3204021136745     0.0     0.0
    2   0.0378756234900  -0.3104112192009     0.0     0.0
    3   0.0316630900929  -0.3143286709281     0.0     0.0
    4   0.0289327875332  -0.3120686928720     0.0     0.0
    5   0.0270555227660  -0.3137666102899     0.0     0.0
 MICROCYCLE DIIS UPDATE:                    5                    5
    6   0.0000649608831  -0.3129966718043     0.0     0.0
    7   0.0000282990332  -0.3130017756141     0.0     0.0
    8   0.0000192080241  -0.3130016111436     0.0     0.0
    9   0.0000138044951  -0.3130017293396     0.0     0.0
   10   0.0000102865536  -0.3130016631116     0.0     0.0
 MICROCYCLE DIIS UPDATE:                   10                    5
   11   0.0000001100377  -0.3130016902778     0.0     0.0
   12   0.0000000500976  -0.3130016841266     0.0     0.0
 --------------------------------------------------------
 Iterations converged
 MBPT(2) correlation energy / hartree =        -0.313001684126637
 MBPT(2) total energy / hartree       =       -92.534571481517744

 MBPT(3) iterations
 --------------------------------------------------------
 Iter          Residuum       Correlation     Cpu    Wall
 --------------------------------------------------------
    1   0.1886264605800   0.0000000000000     0.1     0.1
    2   0.0330324992094   0.0023896036508     0.1     0.1
    3   0.0286129350116   0.0038524264758     0.1     0.1
    4   0.0326935969874   0.0025105584886     0.1     0.1
    5   0.0383018337784   0.0037702129485     0.1     0.1
 MICROCYCLE DIIS UPDATE:                    5                    5
    6   0.0002619247770   0.0031556789756     0.1     0.1
    7   0.0001527083672   0.0031643922847     0.1     0.1
    8   0.0001326724482   0.0031585938569     0.1     0.1
    9   0.0001224034744   0.0031637762660     0.1     0.1
   10   0.0001149708289   0.0031588265427     0.1     0.1
 MICROCYCLE DIIS UPDATE:                   10                    5
   11   0.0000004758086   0.0031612687709     0.1     0.1
   12   0.0000002241956   0.0031612568480     0.1     0.1
   13   0.0000002603418   0.0031612656238     0.1     0.1
   14   0.0000003050224   0.0031612580448     0.1     0.1
   15   0.0000003573232   0.0031612649036     0.1     0.1
 MICROCYCLE DIIS UPDATE:                   15                    5
   16   0.0000000018320   0.0031612615990     0.1     0.1
 --------------------------------------------------------
 Iterations converged
 MBPT(3) correlation energy / hartree =         0.003161261598981
 MBPT(3) total energy / hartree       =       -92.531410219918769


MP2 and MP3 steps of MP4 calculation, same system:
 MBPT(2) iterations
 --------------------------------------------------------
 Iter          Residuum       Correlation     Cpu    Wall
 --------------------------------------------------------
    1   0.0689206701564  -0.3204021136745     0.0     0.0
    2   0.0378756234900  -0.3104112192009     0.0     0.0
    3   0.0316630900929  -0.3143286709281     0.0     0.0
    4   0.0289327875332  -0.3120686928720     0.0     0.0
    5   0.0270555227660  -0.3137666102899     0.0     0.0
 MICROCYCLE DIIS UPDATE:                    5                    5
    6   0.0000649608831  -0.3129966718043     0.0     0.0
    7   0.0000282990332  -0.3130017756141     0.0     0.0
    8   0.0000192080241  -0.3130016111436     0.0     0.0
    9   0.0000138044951  -0.3130017293396     0.0     0.0
   10   0.0000102865536  -0.3130016631116     0.0     0.0
 MICROCYCLE DIIS UPDATE:                   10                    5
   11   0.0000001100377  -0.3130016902778     0.0     0.0
   12   0.0000000500976  -0.3130016841266     0.0     0.0
 --------------------------------------------------------
 Iterations converged
 MBPT(2) correlation energy / hartree =        -0.313001684126637
 MBPT(2) total energy / hartree       =       -92.534571481517744

 MBPT(3) iterations
 --------------------------------------------------------
 Iter          Residuum       Correlation     Cpu    Wall
 --------------------------------------------------------
    1   0.8387396286641   0.0000000000000     7.7     7.8
    2   0.0378480408875   0.0023896036265     7.7     7.8
    3   0.0278027039909   0.0037728361587     7.7     7.8
    4   0.0323941245749   0.0024673134418     7.7     7.7
    5   0.0377463575074   0.0036942361183     7.7     7.7
 MICROCYCLE DIIS UPDATE:                    5                    5
    6   0.0004768057635   0.0030932877697     7.7     7.7
    7   0.0002341277283   0.0031081837819     7.7     7.7
    8   0.0002188813889   0.0030970036896     7.7     7.7
    9   0.0002076640543   0.0031072000626     7.7     7.7
   10   0.0001976053509   0.0030976477284     7.7     7.7
 MICROCYCLE DIIS UPDATE:                   10                    5
   11   0.0000009204401   0.0031022871190     7.7     7.7
   12   0.0000002259750   0.0031022873689     7.7     7.7
   13   0.0000001624172   0.0031022948900     7.7     7.7
   14   0.0000001545262   0.0031022880045     7.7     7.7
   15   0.0000001799059   0.0031022943861     7.7     7.7
 MICROCYCLE DIIS UPDATE:                   15                    5
   16   0.0000000019473   0.0031022912791     7.7     7.7
 --------------------------------------------------------
 Iterations converged
 MBPT(3) correlation energy / hartree =         0.003102291279072
 MBPT(3) total energy / hartree       =       -92.531469190122465


In the second excerpt from the MP4 job, note that the MP3 iterations take ~70 times as long as in the stand-alone MP3 job. In fact, the MP3 iterations of the MP4 job are each considerably slower than the MP4 iterations. That can't be right.
Edited On 7:52:54 PM PDT - Tue, Jul 21st 2015 by Mernst

Gets Around
Threads 33
Posts 138
Based on the input provided here, it seems to confirm Dr. Mernst's findings; furthermore, the MBPT(4) step goes faster than the MBPT(3) one in the MP4 calculation.
Edited On 9:27:31 PM PDT - Tue, Jun 20th 2017 by Xiongyan21

Gets Around
Threads 18
Posts 133
I do not have a doctorate. I am not even sure that it is a bug, to be honest. I don't know if the commonly cited asymptotic complexity of MP4 is valid for the more flexible MBPT4, but I would guess that MBPT4 is more demanding. I haven't examined the MBPT4 code in detail so for all I know the bulk of the work is by necessity in the MBPT3 iterations, though it leads to some confusing results.

The only issue with MP4 that seems to for-sure be a bug is that it once worked with 2eorb, in NWChem 6.0, but hasn't worked with 2eorb since NWChem 6.1: http://www.nwchem-sw.org/index.php/Special:AWCforum/st/id1755/bug%3A_2eorb_used_to_work_wi...

Gets Around
Threads 3
Posts 73
It's not a bug in the traditional sense. It is a defect in how Moller-Plesset methods were implemented in TCE. For example, MP4 requires the storage of quadruples amplitudes. This is not necessary for canonical methods, but TCE was designed to be fully general, and such an approach may be required for nonorthogonal basis sets.

https://github.com/jeffhammond/nwchem/blob/master/QA/tests/tce_h2o/mp4sdq_h2o.nw demonstrates the "mbpt4sdq(t)" method, which is equivalent in cost to CCSD(T), as should be the case when RHF orbitals are used, and may be true to UHF and/or ROHF, but I have not verified. You can compare to GAMESS to know for sure.

Gets Around
Threads 33
Posts 138
The calculation using NWChen6.6 finishes very fast.
Edited On 9:28:54 PM PDT - Tue, Jun 20th 2017 by Xiongyan21

Gets Around
Threads 33
Posts 138
Even in a serial run, GAMESS finishes faster with a lot of worked out coupled cluster energies together, none of which is close to those obtained by NWChem,
I think the total energy may not be very meaningful, furthermore, what is important is the
one derived from it and able to be compared with an experimental result.
Edited On 9:29:46 PM PDT - Tue, Jun 20th 2017 by Xiongyan21

Gets Around
Threads 3
Posts 73
GAMESS and NWChem should agree. I think your input files are not equivalent.

Gets Around
Threads 33
Posts 138
I have changed the default convergence limit of GAMESS into 10^-10 and only carried out ccsd(t), but still get the same results.
Edited On 9:30:44 PM PDT - Tue, Jun 20th 2017 by Xiongyan21

Gets Around
Threads 3
Posts 73
Ok, you appear to not have spent much time thinking about how to use NWChem. CCSD(T) and CCSDT are different methods. If you want to compare NWChem CCSD(T) against GAMESS CCSD(T), you need to run CCSD(T), not CCSDT.

Gets Around
Threads 33
Posts 138
Of course, ccsd(t) and full ccsdt are different, and what I have compared is the ccsd(t) results of GAMESS and NWCHEM, respectively.
Edited On 8:12:46 AM PST - Mon, Nov 30th 2015 by Xiongyan21

Gets Around
Threads 33
Posts 138
Of course, ccsd(t) and full ccsdt are different, and what I have compared are the ccsd(t) results of GAMESS and NWCHEM, respectively. GAMESS cannot do ccsdt.
Why I give the CCSDT result? That is for the comparison of the two methods using NWChem.
Edited On 8:36:44 AM PST - Fri, Dec 4th 2015 by Xiongyan21

Gets Around
Threads 3
Posts 73
Then why are you talking about CCSD(T) and CCSDT w.r.t. being iterative or not?

Please just put complete input and ouput files for *both* codes on https://gist.github.com/ so we can resolve this.

Gets Around
Threads 33
Posts 138
Quote:Jhammond Nov 30th 7:03 am
Then why are you talking about CCSD(T) and CCSDT w.r.t. being iterative or not?

Please just put complete input and ouput files for *both* codes on https://gist.github.com/ so we can resolve this.


I think the iterative CCSDT is a benchmark in some cases, and both softwares are correct.

Sorry, the website above is not accessible to me.
Edited On 12:01:43 AM PST - Sat, Jan 9th 2016 by Xiongyan21

Gets Around
Threads 3
Posts 73
When you say things like "GAMESS finishes faster with a lot of worked out coupled cluster energies together, none of which is close to those obtained by NWChem", you give the impression that GAMESS is both faster and more accurate, which is not even wrong if you are comparing CCSD(T) to CCSDT.

This thread is far from its original purpose. Let's not comment further unless something useful is being said.

Gets Around
Threads 33
Posts 138
I declare no such impression should be intended to be given or implied.
Edited On 11:06:10 PM PST - Tue, Dec 1st 2015 by Xiongyan21


Forum >> NWChem's corner >> Running NWChem
Jump to page 12Next 16Last



Who's here now Members 0 Guests 0 Bots/Crawler 1


AWC's: 2.5.10 MediaWiki - Stand Alone Forum Extension
Forum theme style by: AWC