-
Notifications
You must be signed in to change notification settings - Fork 284
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
New easyblock for building QuantumESPRESSO with CMake #3257
New easyblock for building QuantumESPRESSO with CMake #3257
Conversation
One thing to note is that compilation of some QE components and plugins has been moved to an implementantion with While it is possible to emulate what the script is doing, i would prefer to keep it as a source of truth, in case paths/implementation are changed in future versions. |
…f d3q without mpi)
Co-authored-by: ocaisa <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@boegelbot please test @ jsc-zen3 |
@ocaisa: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... - notification for comment with ID 2039827575 processed Message to humans: this is just bookkeeping information for me, |
Test report by @boegelbot Overview of tested easyconfigs (in order)
Build succeeded for 0 out of 1 (1 easyconfigs in total) |
This flakiness with the thresholds on the test-suite... |
There is a PR open that addresses the single failing test issue that we have seen for QE in EESSI for the original easyblock. The reason for running that build here was just a sanity check, and that was ok. In easybuilders/easybuild-easyconfigs#20138 we have the checks for the new easyblock. |
from easybuild.easyblocks.generic.cmakemake import CMakeMake | ||
|
||
|
||
class EB_QuantumESPRESSOcmake(CMakeMake): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This approach has a bunch of downsides: one is duplicate code, another is that you have to explicitly opt-in by using easyblock = 'EB_QuantumESPRESSOcmake'
in the easyconfig files...
How much effort would it be to integrate this into the existing "standard" custom easyblock for QuantumESPRESSO?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a different plan, I was going to do a follow-up PR when the open QE easyconfigs are merged, where we use an explicit easyblock for the configuremake-based easyconfigs and then switch this to the standard
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be a lot of (pointless?) effort to merge them
Since Quantum Espresso 7.x, the configure/make build has been less supported in favor of CMake/Make.
Right now bot methods of building QE coexist, but some features, like the installation of the
pw2qmcpack
are only supported in the CMake version.Further more, the CMake implementation should be able to much more easily recognize the present external libraries and pickup environment variables set by easy build, and also properly implement parallelization in Make, allowing to build and test QE much faster (the old Config/Make would need
make
to be run multiple times to reach the end if ran with more than 1 parallel process)