LLNL / axom

CS infrastructure components for HPC applications
BSD 3-Clause "New" or "Revised" License
151 stars 27 forks source link

Fix guards OpenMP and GPU execution policy guards in signed_distance API #1192

Open kennyweiss opened 12 months ago

kennyweiss commented 12 months ago

A user reported an error in how we handle execution policy guards in the signed distance API. Specifically, we're using #ifdef in some cases but should actually be using #ifndef guards.

See https://github.com/LLNL/axom/pull/1191 for a proposed bugfix. (Specifically, the changes to signed_distance.cpp)

We might consider using this as an opportunity to clean up this section of the code. Specifically, should the SignedDistExec::OpenMP enum case be defined in configurations that don't have OpenMP? Or would it be better to avoid this problem by either

This might depend on expectations about how users are using the SignedDistanceExec enum.

cyrush commented 12 months ago

since this could be an issue in multiple places, should we move to use axom-wide execution polices? (instead of ones for specific algorithms)