aquarius icon indicating copy to clipboard operation
aquarius copied to clipboard

separable benchmarking capability

Open solomonik opened this issue 9 years ago • 7 comments

It would be convenient and would save many cpu hours to have unit benchmarks for integrals, SCF, and CCSD/T/Q.

solomonik avatar Jan 11 '16 16:01 solomonik

For CC at least, I just added the fakemoints task:

fakemoints
{
    noa = ...,
    nob = ..., #optional, defaults to noa
    nva = ...,
    nvb = ... #optional, defaults to nva
},
ccsd ...

devinamatthews avatar Apr 29 '16 20:04 devinamatthews

Thanks, should noa and nva be set to #electrons and #orbitals generally?

Also, just in case anyone uses this for reference, I think it should be

fakemoints { noa ..., nob ..., #optional, defaults to noa nva ..., nvb ... #optional, defaults to nva },

Would be great to have something similar for 1e/2eints.

solomonik avatar Jun 29 '16 11:06 solomonik

{nelec, mult, norb} would also work as a specification; the conversion is noa = (nelec+mult)/2, nob = (nelec-mult+1)/2, nva = norb-noa, nvb = norb-nob (but nelec and mult have to have the same parity). And yes I should not have put the "=" in there...

The problem with the 1e/2e ints is the sparsity. Real molecules have a very inhomogeneous sparsity, and also the coulomb operator is positive semi-definite which is taken into account in many algorithms. Since these things affect timings they have to be handled carefully.

devinamatthews avatar Jul 02 '16 14:07 devinamatthews

Ok, I see. I started changing the test/water_clusters/make_input.py script to have an option to use fakemoints, but I've realized I don't know how to determine norb there, to do it generally it seems one needs to parse the basis file. Also, what is mult? Would it be possible to automate this determination? Seems like it would be easier to figure out n{o,v}{a,b} once AQ is running and has parsed the basis.

solomonik avatar Jul 04 '16 06:07 solomonik

mult = multiplicity: 1 = singlet (noa=nob), 2 = doublet (noa=nob+1), 3 = triplet, etc. For norb, you can either hard-code how many basis functions for H, O, etc. in a few basis sets, or I could just make fakemoints optionally read from a molecule task.

devinamatthews avatar Jul 04 '16 15:07 devinamatthews

I would prefer not to hardcode anything if it is not too hard to do generally. Seems perfectly plausible that it would at some point be desirable to benchmark without aomoints a non-pure-water system or a large range of basis sets. Let me know if you can augment fakemoints or if I should hack the water generator script, which I think would also take some time to get right.

Thanks, Edgar

On Mon, Jul 4, 2016 at 5:06 PM, Devin Matthews [email protected] wrote:

mult = multiplicity: 1 = singlet (noa=nob), 2 = doublet (noa=nob+1), 3 = triplet, etc. For norb, you can either hard-code how many basis functions for H, O, etc. in a few basis sets, or I could just make fakemoints optionally read from a molecule task.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/devinamatthews/aquarius/issues/12#issuecomment-230310273, or mute the thread https://github.com/notifications/unsubscribe/ACPc9n2Tj_8RT_8VAM_9p3IlYHVHFFczks5qSSFqgaJpZM4HCagV .

solomonik avatar Jul 04 '16 15:07 solomonik

I'll augment fakemoints.

On 7/4/16 10:18 AM, Edgar Solomonik wrote:

I would prefer not to hardcode anything if it is not too hard to do generally. Seems perfectly plausible that it would at some point be desirable to benchmark without aomoints a non-pure-water system or a large range of basis sets. Let me know if you can augment fakemoints or if I should hack the water generator script, which I think would also take some time to get right.

Thanks, Edgar

On Mon, Jul 4, 2016 at 5:06 PM, Devin Matthews [email protected] wrote:

mult = multiplicity: 1 = singlet (noa=nob), 2 = doublet (noa=nob+1), 3 = triplet, etc. For norb, you can either hard-code how many basis functions for H, O, etc. in a few basis sets, or I could just make fakemoints optionally read from a molecule task.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub

https://github.com/devinamatthews/aquarius/issues/12#issuecomment-230310273, or mute the thread

https://github.com/notifications/unsubscribe/ACPc9n2Tj_8RT_8VAM_9p3IlYHVHFFczks5qSSFqgaJpZM4HCagV .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/devinamatthews/aquarius/issues/12#issuecomment-230312517, or mute the thread https://github.com/notifications/unsubscribe/AFAMoUEf7MtKCksaaRcm6BpkrDiAHZGSks5qSSRJgaJpZM4HCagV.

devinamatthews avatar Jul 04 '16 15:07 devinamatthews