-
Notifications
You must be signed in to change notification settings - Fork 38
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
Comments
That documentation is incorrect. PeIGS is distributed with NWChem. See https://github.com/nwchemgit/nwchem/tree/master/src/peigs. There is no website that is maintained. PeIGS hasn’t been actively developed for 10+ years, although the NWChem team maintains it to the extent required for use in NWChem.
|
Nevertheless, GA has a configure switch |
Look at NWChem src/tools/GNUmakefile to see what it requires/assumes from GA. I think PeIGS is required but it has been a long time since I verified this.
If necessary, I can make PeIGS optional in GA and still work with NWChem but I’m not sure what scenario this would be necessary.
|
The concrete issue I see is NWChem failing in e.g. the |
@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. |
@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. |
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.
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.
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. |
@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?
I tried once many years ago to build PeIGS independent of NWChem. I failed. It’s not impossible but it’s not easy either. If somebody else figured it out, that’s great, but I don’t have time for it.
Nobody has developed PeIGS in more than a decade. ScaLAPACK and ELPA have superseded it. But it’s easier for NWChem to use PeIGS because it’s integrated. Also, ELPA is GPL.
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?
PeIGS should be part of GA or proper standalone. The time to implement that was in the early 2000s when George Fann was still at PNNL.
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.
NWChem supports ScaLAPACK and ELPA. I believe I already suggested using the former instead of PeIGS. PeIGS may still be better for smaller problems but as I said before, peak performance isn’t a good goal for Debian binaries.
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.
I have nothing to do with this...
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.
Correct.
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.
NWChem using ScaLAPACK instead of PeIGS is the other option.
|
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. |
@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. |
@marcindulak, your statement is correct. NWChem 7.0.0 with a few patches makes this work. |
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. |
Yeah they are - thanks a lot for providing them and sorry I didnt't get back with feedback for a while, was quite busy. |
README says
It doesn't easily google. Could you please also add the home URL of this library?
The text was updated successfully, but these errors were encountered: