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

Please clarify what is "peigs" library #96

Closed
yurivict opened this issue Mar 25, 2018 · 14 comments
Closed

Please clarify what is "peigs" library #96

yurivict opened this issue Mar 25, 2018 · 14 comments

Comments

@yurivict
Copy link

README says

call into the peigs library (external)

It doesn't easily google. Could you please also add the home URL of this library?

@jeffhammond
Copy link
Member

jeffhammond commented Mar 25, 2018 via email

@mbanck
Copy link

mbanck commented Jan 10, 2019

Nevertheless, GA has a configure switch --enable-peigs which compiles PEIGS stubs AFAICT. Is that required for NWChem to use PEIGS in case it links to an external GA library?

@jeffhammond
Copy link
Member

jeffhammond commented Jan 10, 2019 via email

@mbanck
Copy link

mbanck commented Jan 11, 2019

The concrete issue I see is NWChem failing in e.g. the mcscf_ch2 or pspw testcases with ARMCI Error: 0:ga_diag:peigs not interfaced:, so I am wondering where I need to enable that. I tried to recompile with --enable-peigs but that hasn't helped so far.

@mbanck
Copy link

mbanck commented Mar 2, 2020

@jeffhammond getting back to this, I think the struggles people had trying to get OpenMolcas working with GA and PEIGS from NWChem throwing a wrench into it makes for a case to detangle that part from GA, if GA is supposed to be a general-purpose library.

@jeffhammond
Copy link
Member

@mbanck I know it is not ideal, but I would treat GA with PeIGS enabled as something that exists strictly for NWChem, and which should be built as part of NWChem, and GA without PeIGS enabled as the standalone thing that OpenMolcas etc. use. Is that something you can implement?

I know it would be ideal to build GA only once, but the pain you are going through in hopes of doing that does not seem to be worthwhile, particularly compared to the easy button of just generating the NWChem binary with the NWChem-specific GA with PeIGS enabled library.

I've never seen an NWChem binary that wasn't statically linked against GA and PeIGS, so I don't see how there is an install path conflict here, since the NWChem-specific GA doesn't need to be installed.

@jeffhammond jeffhammond reopened this Mar 2, 2020
@mbanck
Copy link

mbanck commented Mar 4, 2020

@mbanck I know it is not ideal, but I would treat GA with PeIGS enabled as something that exists strictly for NWChem, and which should be built as part of NWChem, and GA without PeIGS enabled as the standalone thing that OpenMolcas etc. use. Is that something you can implement?

I could probably implement it (or rather, go back to how this was done all the time), but honestly, why can't this be changed upstream?

PeIGS does not look like anything specific to NWChem to me (though to be honest, I have not read the source), why is not just part of GA? Is the rest of GA behaving vastly different if PeIGS-support is enabled? Why shouldn't other software packages be able to use PeIGS, it's in the public domain AFAIK?

If that is not possible for one reason or the other, it would be nice if NWChem could use a different library (ELPA? not sure what else provides that use case?) for parallel diagonalization.

I know it would be ideal to build GA only once, but the pain you are going through in hopes of doing that does not seem to be worthwhile, particularly compared to the easy button of just generating the NWChem binary with the NWChem-specific GA with PeIGS enabled library.

One issue is the ever-changing naming scheme of the NWChem-provided tarballs, vs. the (relatively) stable Github tarballs-per-tag. The latter don't have GA though I think.

The next issue is that it is my understanding that PeIGS isn't really maintained and/or hasn't seen a lot of changes by the NWChem maintainers.

I've never seen an NWChem binary that wasn't statically linked against GA and PeIGS, so I don't see how there is an install path conflict here, since the NWChem-specific GA doesn't need to be installed.

Well, I just upload NWChem-7.0.0 to Debian which is linked to the external libga and skips PeIGS, so there will be at least one (not sure what Fedora is doing). This will unfortunately remove some functionality, I will try to see how to get this back before the next Debian release, but having to maintain two versions of GA isn't my most favorite solution.

@jeffhammond
Copy link
Member

jeffhammond commented Mar 4, 2020 via email

@mbanck
Copy link

mbanck commented Mar 4, 2020

Ok, thanks for the feedback. I will see how to use ScaLAPACK instead of PeIGS in NWChem for now and move the discussion over to the NWChem github project, possibly opening a documentation issue because at first glance it is not immediately clear how to do that.

@marcindulak
Copy link

@mbanck - please check edoapra/fedpkg#3 and edoapra/fedpkg#5 (comment) - I believe this already achieves peigs removal form the build of ga and nwchem.

@edoapra
Copy link
Contributor

edoapra commented Mar 19, 2020

@marcindulak, your statement is correct. NWChem 7.0.0 with a few patches makes this work.
https://github.com/edoapra/debichem-team/blob/master/nwchem/debian/patches/17_pspw_scalapack.patch
https://github.com/edoapra/debichem-team/blob/master/nwchem/debian/patches/18_mcscf_scalapack.patch
I thought these patches are already in the debichem tree, too. @mbanck please correct me if I am wrong

@marcindulak
Copy link

Some years ago I've tried to package for Debian, to discover that the RHEL/Debian communities were isolated - didn't know about each others patches. Nice initiative with https://github.com/edoapra/debichem-team/, but also more work.

@edoapra
Copy link
Contributor

edoapra commented Mar 19, 2020

@marcindulak I agree with you that exchanging information avoids duplicating the efforts. I might consolidate under a single nwchemgit repository all my efforts for RHEL, Debian, Brew, Spack, so that all the various NWChem packaging efforts are better coordinated

@mbanck
Copy link

mbanck commented Mar 19, 2020

@marcindulak, your statement is correct. NWChem 7.0.0 with a few patches makes this work.
https://github.com/edoapra/debichem-team/blob/master/nwchem/debian/patches/17_pspw_scalapack.patch
https://github.com/edoapra/debichem-team/blob/master/nwchem/debian/patches/18_mcscf_scalapack.patch
I thought these patches are already in the debichem tree, too. @mbanck please correct me if I am wrong

Yeah they are - thanks a lot for providing them and sorry I didnt't get back with feedback for a while, was quite busy.

@edoapra edoapra closed this as completed Jun 18, 2024
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

No branches or pull requests

6 participants