parthenon-hpc-lab / parthenon

Parthenon AMR infrastructure
https://parthenon-hpc-lab.github.io/parthenon/
Other
123 stars 37 forks source link

Abstract/Standardize Parthenon supported HPC CMake Machine Config functionality #372

Open JoshuaSBrown opened 4 years ago

JoshuaSBrown commented 4 years ago

As more Machine Config files are added it makes sense to abstract out the common functionality.

Yurlungur commented 4 years ago

I'm not sure I agree with that, as all machine files do is record settings we pass to cmake at configure time. Can you give an example of functionality you would like to abstract?

JoshuaSBrown commented 4 years ago

Take a look at the Darwin config file, I'm working on the config file for RZAnsel and have used a lot of the same logic. Standardizing the names of similar variables would also be a good idea.

Yurlungur commented 4 years ago

Oh I see. Yes, because you're trying to be extremely general, that file is a rats nest. The machine config files I use personally I much smaller.

I would ask that the raw machine config files continue to work, even if some extra functionality is provided somewhere. It's very convenient for me to, e.g., throw together a file for my laptop or my personal setup on some HPC system.

JoshuaSBrown commented 4 years ago

Ya, I'm not talking about how the logic is handled in pathenon/CMakeLists.txt but simply packaging some of the more useful logic into functions. Perhaps it could be placed in parthenon/cmake/MachineConfig.cmake.

Yurlungur commented 4 years ago

Oh I see. Yeah, that makes sense to me.

JoshuaSBrown commented 3 years ago

@AndrewGaspar I'm changing the title because I think this is more general than just LANL's HPC configs.