Closed jngrad closed 4 months ago
I reviewed the commits 1-3 and 6-7. They can be merged.
For 3 and 4 it would be helpful to know in broad terms what the actual cahgnes are. That would make it clearer to me what to look for in the diff
For 3 and 4 it would be helpful to know in broad terms what the actual cahgnes are. That would make it clearer to me what to look for in the diff
*.tmpl.{h,cu,cuh}
template files. The pdf/vel/force files can no longer be edited independently from one another, since updating any one of them requires updating at least one of the other two. I also implemented a few missing slice accessors.espresso_
, because we can accidentally overshadow an existing CMake function and run into nasty undocumented behavior, e.g. infinite recursion. See Craig Scott's Do Not Redefine CMake Commands blog post for more details (he's a CMake maintainer). A function called unit_test()
doesn't exist in CMake yet, but it's not a far-fetched idea that such a function name could be introduced in a later release of CMake, or in one of its utility modules. All other ESPResSo-specific CMake functions had been renamed in older refactoring PRs. This one was renamed only now because it was quite complex and required CMake 3.25 functionality to be rewritten in a clean way. Also, it used to take multiple source code files as input, but it was totally unclear from the code how it was supposed to link them together, especially if they were mixing CUDA and C++ files. Now it only takes 1 source file a input, from which the name is deduced. So we can no longer have a fantasy test name that is unrelated to the source file name.cmake .. -D ESPRESSO_BUILD_WITH_UBSAN=YES
, the build is successful but pypresso
fails to launch with a cryptic error message that took me 30 min to figure out. The pypresso
launcher was too fragile and didn't consider that other keywords like true/yes/y/on and other less common named constants can evaluate to true.I've checked commit CMake: Rewrite unit_test() framework and Shell scripts hardening, they are both fine.
Description of changes:
pypresso
launcher