-
Notifications
You must be signed in to change notification settings - Fork 8
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
eospac serialization fix #417
Conversation
…spac with serialization. Fix minor errors related to that.
…arity-eos into jmm/eospac-serialization-fix
I also needed to more cleanly separate the closure tests as they should be disabled when closure is off. |
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.
Looks fine to my untrained eye.
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.
Looks good! Minor questions
if (SINGULARITY_BUILD_CLOSURE) | ||
add_executable( | ||
closure_unit_tests | ||
catch2_define.cpp | ||
test_closure_pte.cpp | ||
test_kpt_models.cpp | ||
) | ||
endif() |
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.
When I added the closure unit tests, I was copying the approach for the tabulated unit tests and trying to simplify the CMake so that each option gets applied to its relevant executables one-by-one. Is it better to complicate the CMake logic to avoid compiling the test rather than rely on #ifdef
statements to make sure its basically an empty test?
Put another way, in general should we be trying to push more logic into the CMake and less into the source via preprocessor flags?
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.
Oh I don't know. Either is fine. I went overboard here, the tests weren't wrapped in preprocessor protection in this case or protected in the cmake so I just did both to be safe.
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'm pretty ignorant to the finer points of CMake so I'm happy to go either way. But if there's a superior way, let me know. @mauneyc-LANL do you have opinions?
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.
👍 Yeah happy to revise this structure if there's one that makes sense.
PR Summary
In the previous serialization MR #410 I punted one issue with EOSPAC. This MR now fixes the inconsistencies. I test EOSPAC with shared memory in the unit tests and I update the default cmake option to assume shared memory is available.
I also had to add some link libraries (available in the standard library) that HDF5 depends on to FindHDF5 as cmake was not properly adding them.
PR Checklist
make format
command after configuring withcmake
.If preparing for a new release, in addition please check the following:
when='@main'
dependencies are updated to the release version in the package.py