|
DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
|
Backend-specific implementation layer for EulerP Evaluator kernel dispatch. More...
Go to the source code of this file.
Classes | |
| struct | DNDS::EulerP::Evaluator_impl< B > |
| Backend-specific implementation of EulerP Evaluator kernels. More... | |
| struct | DNDS::EulerP::Evaluator_impl< B >::RecGradient_Arg |
| Device-side argument struct for gradient reconstruction kernels. More... | |
| struct | DNDS::EulerP::Evaluator_impl< B >::RecGradient_Arg::Portable |
| Trivially-copyable payload holding device views of all kernel data. More... | |
| struct | DNDS::EulerP::Evaluator_impl< B >::Cons2PrimMu_Arg |
| Device-side argument struct for conservative-to-primitive + viscosity kernel. More... | |
| struct | DNDS::EulerP::Evaluator_impl< B >::Cons2PrimMu_Arg::Portable |
| Trivially-copyable payload for Cons2PrimMu kernel data. More... | |
| struct | DNDS::EulerP::Evaluator_impl< B >::Cons2Prim_Arg |
| Device-side argument struct for conservative-to-primitive conversion (no gradients/viscosity). More... | |
| struct | DNDS::EulerP::Evaluator_impl< B >::Cons2Prim_Arg::Portable |
| struct | DNDS::EulerP::Evaluator_impl< B >::EstEigenDt_Arg |
| Device-side argument struct for eigenvalue estimation and time-step computation. More... | |
| struct | DNDS::EulerP::Evaluator_impl< B >::EstEigenDt_Arg::Portable |
| struct | DNDS::EulerP::Evaluator_impl< B >::RecFace2nd_Arg |
| Device-side argument struct for 2nd-order face value reconstruction. More... | |
| struct | DNDS::EulerP::Evaluator_impl< B >::RecFace2nd_Arg::Portable |
| struct | DNDS::EulerP::Evaluator_impl< B >::Flux2nd_Arg |
| Device-side argument struct for 2nd-order flux evaluation and RHS accumulation. More... | |
| struct | DNDS::EulerP::Evaluator_impl< B >::Flux2nd_Arg::Portable |
Namespaces | |
| namespace | DNDS |
| the host side operators are provided as implemented | |
| namespace | DNDS::EulerP |
| Namespace for the EulerP alternative evaluator module with GPU support. | |
Macros | |
Argument construction macros | |
Helper macros used inside Evaluator_impl inner arg struct constructors to create device views from host-side Evaluator argument members. | |
| #define | DNDS_EULERP_IMPL_ARG_GET_REF(member) auto &member = arg.member; |
| #define | DNDS_EULERP_IMPL_ARG_GET_REF_PORTABLE(member) auto &member = arg.portable.member; |
| #define | DNDS_EULERP_IMPL_ARG_CTOR_INIT_SELF() |
| #define | DNDS_EULERP_IMPL_ARG_CTOR_INIT_SSPARR(member) member(arg.member->template deviceView<B>()) |
| #define | DNDS_EULERP_IMPL_ARG_CTOR_INIT_VECSSPARR(member, member_v) |
| #define | DNDS_EULERP_IMPL_ARG_CTOR_PORTABLE_COPY_SSPARR(member) |
| #define | DNDS_EULERP_IMPL_ARG_CTOR_PORTABLE_COPY_SSPARR_BUF(member, buf_name) |
| #define | DNDS_EULERP_IMPL_ARG_CTOR_PORTABLE_COPY_VECSSPARR(member, member_v) |
| #define | DNDS_EULERP_IMPL_ARG_CTOR_PORTABLE_COPY_VECSSPARR_BUF(member, member_v, buf_name) |
Backend-specific implementation layer for EulerP Evaluator kernel dispatch.
Defines Evaluator_impl, a template struct parameterized by DeviceBackend (Host or CUDA). For each Evaluator kernel, an inner argument struct wraps the host-side shared_ptr-based Evaluator::*_Arg into device views suitable for kernel execution. The inner Portable sub-struct is trivially copyable and can be passed to CUDA kernels.
Also defines helper macros for constructing device views from Evaluator argument members.
Definition in file EulerP_Evaluator_impl.hpp.
| #define DNDS_EULERP_IMPL_ARG_CTOR_INIT_SELF | ( | ) |
Definition at line 27 of file EulerP_Evaluator_impl.hpp.
| #define DNDS_EULERP_IMPL_ARG_CTOR_INIT_SSPARR | ( | member | ) | member(arg.member->template deviceView<B>()) |
Definition at line 31 of file EulerP_Evaluator_impl.hpp.
| #define DNDS_EULERP_IMPL_ARG_CTOR_INIT_VECSSPARR | ( | member, | |
| member_v | |||
| ) |
Definition at line 33 of file EulerP_Evaluator_impl.hpp.
| #define DNDS_EULERP_IMPL_ARG_CTOR_PORTABLE_COPY_SSPARR | ( | member | ) |
Definition at line 38 of file EulerP_Evaluator_impl.hpp.
| #define DNDS_EULERP_IMPL_ARG_CTOR_PORTABLE_COPY_SSPARR_BUF | ( | member, | |
| buf_name | |||
| ) |
Definition at line 42 of file EulerP_Evaluator_impl.hpp.
| #define DNDS_EULERP_IMPL_ARG_CTOR_PORTABLE_COPY_VECSSPARR | ( | member, | |
| member_v | |||
| ) |
Definition at line 46 of file EulerP_Evaluator_impl.hpp.
| #define DNDS_EULERP_IMPL_ARG_CTOR_PORTABLE_COPY_VECSSPARR_BUF | ( | member, | |
| member_v, | |||
| buf_name | |||
| ) |
Definition at line 55 of file EulerP_Evaluator_impl.hpp.
| #define DNDS_EULERP_IMPL_ARG_GET_REF | ( | member | ) | auto &member = arg.member; |
Definition at line 24 of file EulerP_Evaluator_impl.hpp.
| #define DNDS_EULERP_IMPL_ARG_GET_REF_PORTABLE | ( | member | ) | auto &member = arg.portable.member; |
Definition at line 25 of file EulerP_Evaluator_impl.hpp.