Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Antisymmetrise ERI tensor inside adccore during import #39

Merged
merged 9 commits into from Feb 19, 2020

Conversation

mfherbst
Copy link
Member

@mfherbst mfherbst commented Feb 17, 2020

Antisymmetrise not on the python side but during the import into libtensor memory.

  • pyscf working
  • Psi4 working
  • molsturm working
  • veloxchem working
  • Cleanup and rebasing
  • Run the full adcc-bench suite
  • Docs polishing

@mfherbst
Copy link
Member Author

Some current timings on my laptop:

ccpVQZ water (restricted)

New version (this branch)

  import/eri/o1o1o1o1                    1s 633ms
  import/eri/o1o1o1v1                    1s 748ms
  import/eri/o1o1v1v1                    1s 968ms
  import/eri/o1v1o1v1                    3s 646ms
  import/eri/o1v1v1v1                    2s 240ms
  import/eri/v1v1v1v1                   10s 332ms

Old version (master)

  import/eri/o1o1o1o1                    1s  58ms
  import/eri/o1o1o1v1                    2s 544ms
  import/eri/o1o1v1v1                    1s 489ms
  import/eri/o1v1o1v1                    2s 654ms
  import/eri/o1v1v1v1                    1s 825ms
  import/eri/v1v1v1v1                   15s  86ms

def2-tzvp CH2NH2 radical (unrestricted)

New version (this branch)

  import/eri/o1o1o1o1                    3s 382ms
  import/eri/o1o1o1v1                    4s 388ms
  import/eri/o1o1v1v1                    4s 121ms
  import/eri/o1v1o1v1                    9s 169ms
  import/eri/o1v1v1v1                    6s 200ms
  import/eri/v1v1v1v1                   13s 942ms

Old version (master)

  import/eri/o1o1o1o1                    2s 880ms
  import/eri/o1o1o1v1                    9s 820ms
  import/eri/o1o1v1v1                    4s 337ms
  import/eri/o1v1o1v1                    9s 971ms
  import/eri/o1v1v1v1                   13s 368ms
  import/eri/v1v1v1v1                   53s 184ms

Memory water ADC2 this branch

memory_water_adc2_after-1

Memory water ADC2 master

memory_water_adc2_before-1

Memory CH2NH2 radical ADC3 this branch

memory_ch2nh2_adc3_after-1

Memory CH2NH2 radical ADC3 master

memory_ch2nh2_adc3_before-1

So adding them all up, for UHF the new version is better in timings. For RHF the total time is roughly the same. When it comes to memory, the requirement is greatly reduced for RHF and about similar for UHF with this PR.

@mfherbst mfherbst marked this pull request as ready for review February 19, 2020 16:01
Copy link
Member

@maxscheurer maxscheurer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I trust you that the benchmarks are okay, nice to get rid of some code on the Python layer.

- Full API reference for adcc
- Reference to benchmark results
@mfherbst mfherbst merged commit b2bd554 into master Feb 19, 2020
@mfherbst mfherbst deleted the asym_during_import branch February 19, 2020 20:19
@mfherbst
Copy link
Member Author

Just a final comment: On the noradrenaline testcase, this brought down the memory requirement from 398GB to 280GB (ca. -30%) 😄.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants