Odd correlation energies for RI-MP2 calculations


  • Guest -
I am running single point RI-MP2/aug-cc-pvdz calculations on a variety of dinucleotides. I've noticed that the correlation energy is vastly different when the calculation must do 2 integral passes rather than 1. Is this a bug? Any ideas? Thanks --Niel

Forum Vet
Quote: Nov 24th 4:53 pm
I am running single point RI-MP2/aug-cc-pvdz calculations on a variety of dinucleotides. I've noticed that the correlation energy is vastly different when the calculation must do 2 integral passes rather than 1. Is this a bug? Any ideas? Thanks --Niel


Could you post the input deck and the pieces of output so we can investigate this?

Bert

  • Guest -
These jobs consist of two parts: geometry optimization, followed by RI-MP2 single point.
The optimization input example is here
The RI-MP2 input is here

I am a bit of newbie to nwchem, so any suggestions would be great. I'm running these jobs on kraken and athena (Cray XT5 and XT4, respectively).

Just to clarify my problem, I was comparing nwchem 5.1 and 6.0. I got the following results:
Condition 1) 48 processors, nwchem5.1, 1 integral passes, Correlation Energy = -6.913725423871115
Condition 2) 40 processors, nwchem6.0, 2 integral passes, Correlation Energy = -3.9...something

  • Guest -
.... continue.....
I overwrote the output for condition 2, so I can't post the exact output (until my next job runs). Essentially condition 1 said:
Transformation block size 159, requiring 1 integral passes.
Energy evaluation using block sizes 159 1

And Condition 2 said:
Transformation block size 153, requiring 2 integral passes.
Energy evaluation using block sizes 159 1

Now I know I have more variables than data points, but I've had the same problem using just nwchem5.1 (Data isn't handy). It seems that if I have too few processors, it requires 2 integral passes and this leads to a different value. Just to note, the DFT energies from optimization were nearly identical, as I expected.

Thanks for your help,
--Niel

  • Guest -
Any ideas on this one? I still haven't figured it out.
--Niel

Forum Vet
Interestingly, I ran NWChem 6.0 on 64 and 16 cores (each with 1 GByte of memory per core, set as memory 1000 mb in the input) and both sets of calculations gave exactly the same results. Hence, I have no clue why you see the differences. The only way to track this further is for you to reproduce the results for NWChem 6.0 for 40 and 48 processors using the same input deck for both.

Bert

Forum Vet
An additional update, found a potential issue.

1. What is the memory setting? Doesn't look like you're specifying any memory amount in your input deck, so it is using the default set by the people that installed the code on your system. How much memory are you using (i.e. what does your output file say)?

2. Is ARMCI_DEFAULT_SHMMAX set in your job script, if so what is the value?

3. Do you see "WARNING:armci_set_mem_offset: offset changed" messages in your output or error file?

This will help me find a solution to your problem.

Bert

Forum Vet
Try unsetting the environment variable:

       unsetenv MA_USE_ARMCI_MEM 

I assume this is set on the Cray's.

Bert

Clicked A Few Times
I've lost track of some of my files and there have been some updates to nwchem (on my system) since I last posted. I'll re-run and make sure the problem still exists.

Just to answer your questions:
- I've been using the default memory.
- ARMCI_DEFAULT_SHMMAX is not set in my job script
- I don't see the "WARNING:armci_......." message
- The MA_USE_ARMCI_MEM is does not seem to be set

Thanks,
--Niel

Clicked A Few Times
Oh, by the way, I'm curious how many integral passes your tests did?
ie did the 16 core job do 2 passes:
"Transformation block size 153, requiring 2 integral passes."

Thanks,
--Niel

Clicked A Few Times
Update:

I ran two different jobs using nwchem6.0.

1) 48 procs, default memory. Relevant output:
 Transformation block size  153, requiring     2 integral passes.
 Energy evaluation using block sizes   163    1

          -------------------------------------------
          SCF energy               -2555.440664736892
          Correlation energy          -5.696277322716
          Total MP2 energy         -2561.136942059608
          -------------------------------------------


Clicked A Few Times
2) 48 procs, "memory 800 mb" (it crashed with "memory 1000 mb") Relevant output:
 Transformation block size  163, requiring     1 integral passes.
 Energy evaluation using block sizes   163    4

          -------------------------------------------
          SCF energy               -2555.440664736911
          Correlation energy          -7.102268138684
          Total MP2 energy         -2562.542932875594
          -------------------------------------------



So it seems to have an issue when there isn't enough memory available. As a side note, 60 procs/default memory does give identical results to the second case. In all cases I get the "WARNING:armci_set_mem_offset" message.

So maybe this is a bug? I just want to make sure I'm using the correct numbers (ie the second case).
Thanks,
--Niel
PS, why can't I write a long post?

Forum Vet
It's not the number of integral passes, I tested that. The issue is with global memory, i.e. the armci_set_mem_offset. We use shared memory segments, and when you get these errors it means you are using multiple segments and switching between them (and this seems to cause your problems). We are working on fixing this and hopefully will have this available in our January development version release.

As to long posts, fixed that too

Bert

Clicked A Few Times
Sounds good. Thanks for your help.

--Niel


Forum >> NWChem's corner >> Running NWChem