Alex Granovsky
gran@classic.chem.msu.su
I'm sorry for some delay with final form of my answer. Indeed, my
post was edited several times to make it more clear and to explain
some hidden problems.
1. See the following link for general advise. In brief, (quasi) linear dependence results
in any computations to be more or less ill-defined and hence one
needs extra high precision on every computational step. As the
sequence of being ill-defined, the sensitivity of results to the
exact order of computations is high and thus one may get different
answers using non-deterministic algorithms (e.g., using dynamic load
balancing, etc...). This can be cured using the same solution (extra
high precision of calculations).
>P.S. scf convergence seems flaky, but I couldn't find instructions
>on how to follow the suggestion in the output: YOU MAY CONSIDER
>DROPPING ONE OR MORE AOS, STARTING FROM THE END OF THIS LIST - any
>hints?
2. At present, the only way to do this is to remove them manually from the basis set.
Why not to use QMTTOL? Because it is not supported by Firefly.
Why? The answer is here.
In brief, this approach introduces errors to the almost
all types of calculations requiring energy derivatives.
We are working on alternative approach to automate or at least
semi-automate deletion of basis functions, however, meanwhile
you have to delete them manually (see the attached input and
output files).
Your system is an example of pathological case for SCF,
so that I was forced to delete six S-type functions to achieve convergence.
Perhaps I need to explain in more details how it was done.
Please let me know if you need additional comments on this
(iterative) procedure. Anyway, this would be the matter of
a separate post.
3. Another point is to check whether SCF actually converged
to the desired accuracy. If it did not, avoid SOSCF and use DIIS.
SOSCF is a little bit tricky and its use makes density convergence
criterion the secondary one. The primary one is the "accelerator"
(SOSCF) convergence that can be reached even without actual
convergence of density matrix - the problem we will address in
the forthcoming releases. DIIS is more respectful to the original
nconv criterion.
In your examples, actual convergence corresponds to nconv=4
in the best case, not 7.
4. Do not use kdiag=-2! I've changed web pages a lot to emphasize
once more that this is an experimental code!
5. USE DLCs! And use symmetry (your system is very close to ideal C2 symmetry)
Finally, my guess is that using only 4 cores in parallel with default settings of $smp group should be faster.
[Attached is the corrected input file and part of the output.
Note this is *not* the benchmark as I paused calculations several
times for several hours to debug some new code]
Regards,
Alex Granovsky
P.S. Do not overclock :-)
On Wed Jun 3 '09 1:51pm, Valentin Monev wrote
---------------------------------------------
>Dear Professor Granovsky,
>Dear colleagues,
>scf seems to converge, but I obtain wildly fluctuating mp2 gradients, on two core i7 machines running Windows Vista 64 and Windows 7 64 (each pc has cpu 920, two 1TB hard disks and 6 GB RAM). I cannot understand what causes these irreproducible results - see attached input and output files. Because the system calculated is somewhat large, I am using almost all (logical) processors in parallel using dynamic load balancing - seven out of eight possible (see attached batch file). Hyperthreading is enabled in the bios, but is effectively neutralized for firefly by $smp httfix=.f. httpar=.t. smppar=.t. $end. The cpu load is 89 % during scf and some parts of mp2, if I use -np 8 in the batch file, cpu load rises to 100% but I want to leave some cpu idle, to be able to use the pc for interactive work. The workload is balanced between the 8 logical processors, as shown by task manager - only one processor is somewhat less loaded. Dynamic load balancing seems much more effective than trying to use mklnp=2 in $system.
>
>
>I tried to reproduce an mp2 calculation mp2grd.input.zip - see attached input and output files.
>Any suggestions?
>P.S. scf convergence seems flaky, but I couldn't find instructions on how to follow the suggestion in the output: YOU MAY CONSIDER DROPPING ONE OR MORE AOS, STARTING FROM THE END OF THIS LIST - any hints?
>P.P.S. Is it sufficient to put pcgp2p.dll, fastdiag.dll, mpich_smp.dll and mpibind.dll in the folder containing the firefly.exe, and a path command that contains this folder? Should p4stuff.dll be in this folder?
>P.P.P.S. Overclock: Turbo boost enabled; Gigabyte GA-EX58-UD4 mainboard bios setting CPU Intelligent Accelerator 2 set to Racing, i.e. 3.2Ghz (original 2.6) and 154 Mhz (original 133) under load; Performance enhance setting set to Standard (original Turbo); all voltages set to Normal (original Auto).
>Help!
>
[ This message was edited on Sat Jun 6 '09 at 9:05pm by the author ]