In ROCm compilers as of early 2024, the compiler force inlines everything.
While generally nice, this can be problematic for very large kernels in both compile and runtime, if we actually want to enforce a function call and jump.
We should investigate if we have places like this, some of the elements using symplectic integrators come to mind for some of the larger runtime combinations, where we want to add a AMREX_NO_INLINE to prevent this.
To be evaluated. Thanks to @zingale for bringing this up.
In ROCm compilers as of early 2024, the compiler force inlines everything.
While generally nice, this can be problematic for very large kernels in both compile and runtime, if we actually want to enforce a function call and jump.
We should investigate if we have places like this, some of the elements using symplectic integrators come to mind for some of the larger runtime combinations, where we want to add a
AMREX_NO_INLINE
to prevent this.To be evaluated. Thanks to @zingale for bringing this up.