template<int SIMD_WIDTH = native_simd_size_real>
struct amrex::simd::Vectorized< SIMD_WIDTH >
Mixin Helper Class
Use this class as a mixin (base) class to simplify writing functors that support/do not support ParallelForSIMD.
Example:
{
template<typename T_Real>
};
{
Compute c;
if constexpr (amrex::simd::is_vectorized<Compute>) {
} else {
ParallelFor(np, c);
}
}
#define AMREX_FORCE_INLINE
Definition AMReX_Extension.H:119
#define AMREX_RESTRICT
Definition AMReX_Extension.H:37
#define AMREX_GPU_HOST_DEVICE
Definition AMReX_GpuQualifiers.H:20
AMREX_ATTRIBUTE_FLATTEN_FOR void ParallelForSIMD(N n, L const &f) noexcept
Definition AMReX_GpuLaunchFunctsC.H:206
Definition AMReX_SIMD.H:105