lanl / ports-of-call

Performance Portability Utilities
https://lanl.github.io/ports-of-call/
BSD 3-Clause "New" or "Revised" License
2 stars 1 forks source link

"Config-less" configuration #16

Closed cmauney closed 1 year ago

cmauney commented 1 year ago

Removed PORTABILITY_STRATEGY_* target properties & cache vars.

PR Summary

The compiler defines PORTABILITY_STRATEGY_* only find expression after the compiler preprocessor has parsed the source. Therefore, these defines are best left to the host code. This has some useful advantages:

I may be out over my skis on this, so if it seems as tho I've misread something let me know.

Changes:

PR Checklist

mauneyc-LANL commented 1 year ago

@jonahm-LANL @dholladay00 @jhp-lanl

Created this on my personal github account by mistake, just verifying it was me

Yurlungur commented 1 year ago

I think the biggest advantage here is actually from an install perspective---ports-of-call installations no longer carry around PORTABILITY_STRATEGY in their cmake so you only need one for several different builds.

chadmeyer commented 1 year ago

This seems like an OK philosophy to follow. Honestly, short of having any ideas of how this will work out in Fortran eventually (if at all), I don't see any reason to suggest otherwise. Can we make sure that we update a description somewhere (README?) to clarify how this would be used in downstream libraries or codes?

Yurlungur commented 1 year ago

That sounds good. Thanks for the double check, @chadmeyer . @mauneyc-LANL can you update the docs/README? After that let's merge this in.

mauneyc-LANL commented 1 year ago

This seems like an OK philosophy to follow. Honestly, short of having any ideas of how this will work out in Fortran eventually (if at all), I don't see any reason to suggest otherwise. Can we make sure that we update a description somewhere (README?) to clarify how this would be used in downstream libraries or codes?

I've updated README.md with a short section, let me know if it looks okay

Yurlungur commented 1 year ago

That looks good. Let's also add the necessary tweaks here: https://github.com/lanl/ports-of-call/blob/main/doc/sphinx/src/building.rst

dholladay00 commented 1 year ago

Is this waiting on anything @Yurlungur @mauneyc-LANL ?

mauneyc-LANL commented 1 year ago

Is this waiting on anything @Yurlungur @mauneyc-LANL ?

Give me a minute to update docs

mauneyc-LANL commented 1 year ago

Is this waiting on anything @Yurlungur @mauneyc-LANL ?

Give me a minute to update docs

I've updated to docs, please let me know if this is acceptable @dholladay00 @jonahm-LANL