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

Update gdma to v2.3; convert to runtime #2968

Merged
merged 4 commits into from
Aug 11, 2023
Merged

Update gdma to v2.3; convert to runtime #2968

merged 4 commits into from
Aug 11, 2023

Conversation

loriab
Copy link
Member

@loriab loriab commented May 24, 2023

Description

User API & Changelog headlines

  • gdma is bumped from upstream v2.2.06 to v2.3.3 (can now use h-functions)
  • gdma is now selectable at runtime, not just compile-time. use conda install pygdma -c conda-forge (presently in staged-recipes adding gdma conda-forge/staged-recipes#22882 )

Dev notes & details

  • A perhaps obscure point is that psi hasn't been using exactly upstream GDMA, which is a Fortran executable. Instead, Andy Simmonett did lots of I/O conversion and turned it into a library and bound some functions to C so psi could extract results w/o parsing. That's great, but it's meant we've been fixed at upstream v2.2.06.
  • I was startled to realize gdma is GPL. For background, roughly speaking, GPL probably does adhere to psi4 if libgdma statically linked, might adhere if dynamically linked (FSF thinks yes; everyone else thinks no; result is that any GPL makes ppl nervous), doesn't adhere if dlopen'ed or runtime optional. Conda-package-wise, we've always dynamically linked to libgdma, and scouring my memory, there was a plan to have an alternate gdma- and chemps2-free conda build of psi4 to remove doubt; that never happened.
  • To get past these problems and get a c-f package going, I
  • need to add comment notation so the driver qcvars are associated with gdma
  • UNRELATED: fix mrcc addon so that can pass it FNO orbitals again.

Checklist

Status

  • Ready for review
  • Ready for merge

@loriab loriab added build external-interface For issues about interfaces with external programs: ADCC, CheMPS2, GDMA, MRCC... labels May 24, 2023
@loriab loriab added this to the Psi4 1.9 milestone May 24, 2023
Copy link
Contributor

@JonathonMisiewicz JonathonMisiewicz left a comment

Choose a reason for hiding this comment

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

Do we have a test on the distributed multipoles?

@loriab
Copy link
Member Author

loriab commented Jul 10, 2023

psi4/driver/driver.py Outdated Show resolved Hide resolved
@jturney jturney added this pull request to the merge queue Aug 10, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Aug 10, 2023
@loriab loriab added this pull request to the merge queue Aug 11, 2023
Merged via the queue into psi4:master with commit b0e621f Aug 11, 2023
5 checks passed
@loriab loriab deleted the pygdma branch August 11, 2023 04:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build external-interface For issues about interfaces with external programs: ADCC, CheMPS2, GDMA, MRCC...
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants