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 {
}
}
#define AMREX_FORCE_INLINE
Definition AMReX_Extension.H:119
#define AMREX_RESTRICT
Definition AMReX_Extension.H:32
#define AMREX_GPU_HOST_DEVICE
Definition AMReX_GpuQualifiers.H:20
std::enable_if_t< std::is_integral_v< T > > ParallelFor(TypeList< CTOs... > ctos, std::array< int, sizeof...(CTOs)> const &runtime_options, T N, F &&f)
Definition AMReX_CTOParallelForImpl.H:193
AMREX_ATTRIBUTE_FLATTEN_FOR void ParallelForSIMD(N n, L const &f) noexcept
Definition AMReX_GpuLaunchFunctsC.H:208
Definition AMReX_SIMD.H:107