|
void | requireField (const PHX::FieldTag &f) |
| Requests that the container must compute this field.
|
|
void | aliasField (const PHX::FieldTag &aliasedField, const PHX::FieldTag &targetField) |
|
void | registerEvaluator (const Teuchos::RCP< PHX::Evaluator< Traits > > &p) |
|
PHX::any | getFieldData (const PHX::FieldTag &f) |
|
void | setUnmanagedField (const PHX::FieldTag &f, const PHX::any &a, const bool cleanup_output=true) |
| Set the memory for an unmanaged field.
|
|
void | bindField (const PHX::FieldTag &f, const PHX::any &a) |
| Bind the memory pointer for a field in all evaluators.
|
|
void | postRegistrationSetup (typename Traits::SetupData d, PHX::FieldManager< Traits > &fm, const bool &buildDeviceDAG, const bool &minimizeDAGMemoryUse, const PHX::MemoryManager *const memoryManager) |
|
void | evaluateFields (typename Traits::EvalData d) |
|
void | evaluateFieldsDeviceDag (const int &work_size, const int &team_size, const int &vector_size, typename Traits::EvalData d) |
|
void | preEvaluate (typename Traits::PreEvalData d) |
|
void | postEvaluate (typename Traits::PostEvalData d) |
|
void | setKokkosExtendedDataTypeDimensions (const std::vector< PHX::index_size_type > &dims) |
|
const std::vector< PHX::index_size_type > & | getKokkosExtendedDataTypeDimensions () const |
|
bool | setupCalled () const |
| Return true if the postRegistrationSetupMethod has been called.
|
|
const std::string | evaluationType () const |
|
void | print (std::ostream &os) const |
|
void | analyzeGraph (double &speedup, double ¶llelizability) const |
|
void | buildDag () |
|
const std::vector< Teuchos::RCP< PHX::FieldTag > > & | getFieldTags () |
|
void | printEvaluatorStartStopMessage (const Teuchos::RCP< std::ostream > &ostr) |
| Print to user specified ostream when each evaluator starts and stops. Useful for debugging. Enabled only in debug builds.
|
|
const PHX::DagManager< Traits > & | getDagManager () const |
|
virtual void | requireField (const PHX::FieldTag &v) |
|
virtual void | aliasField (const PHX::FieldTag &aliasedField, const PHX::FieldTag &targetField)=0 |
|
virtual void | registerEvaluator (const Teuchos::RCP< PHX::Evaluator< Traits > > &p) |
|
virtual void | postRegistrationSetup (typename Traits::SetupData d, PHX::FieldManager< Traits > &vm, const bool &buildDeviceDAG, const bool &minimizeDAGMemoryUse, const PHX::MemoryManager *const memoryManager)=0 |
|
virtual void | evaluateFields (typename Traits::EvalData d)=0 |
|
virtual void | preEvaluate (typename Traits::PreEvalData d)=0 |
|
virtual void | postEvaluate (typename Traits::PostEvalData d)=0 |
|
virtual void | writeGraphvizFile (const std::string filename, bool writeEvaluatedFields, bool writeDependentFields, bool debugRegisteredEvaluators) const |
|
virtual const std::string | evaluationType () const =0 |
|
virtual void | print (std::ostream &os) const =0 |
|
|
bool | post_registration_setup_called_ |
|
std::unordered_map< std::string, PHX::any > | fields_ |
|
std::unordered_map< std::string, PHX::any > | unmanaged_fields_ |
|
std::unordered_map< std::string, std::string > | aliased_fields_ |
|
std::unordered_map< std::string, std::pair< Teuchos::RCP< PHX::FieldTag >, std::string > > | shared_fields_ |
|
std::vector< PHX::index_size_type > | kokkos_extended_data_type_dimensions_ |
|
bool | build_device_dag_ |
|
bool | minimize_dag_memory_use_ |
|
std::shared_ptr< PHX::MemoryManager > | memory_manager_ |
|
std::unordered_map< std::string, std::size_t > | field_allocation_sizes_ |
| Size in bytes of view allocation. This includes padding if the view supports/requires it.
|
|
std::vector< std::pair< std::size_t, Teuchos::RCP< PHX::FieldTag > > > | fields_to_allocate_ |
|
PHX::DagManager< Traits > | dag_manager_ |
|
template<typename EvalT, typename Traits>
class PHX::EvaluationContainer< EvalT, Traits >
Container that holds all data associated with an evaluation type.
Handles allocation and binding of all field memory.
template<typename EvalT , typename Traits >
Returns the FieldTags for all fields involved in the evaluation. Will return an empty vector unless the user has built the DAG using one of the following calls: postRegistrationSetup(), postRegistrationSetupForType() or buildDagForType().
WARNING: This is a dangerous power user feature. It returns non-const field tags so that the fields can be sized after the DAG has been created.
template<typename EvalT , typename Traits >
Set the memory for an unmanaged field.
NOTE: If this method is called after postRegistrationSetup(), the field might be reported as shared when priting even though it is no longer shared (now points to user supplied memory). Output from DAG may be incorrect. Searching the field lists for potential sharing wastes time as this function may be called in the middle of an evaluation, so we will not clean up output or add this to the unmanaged field list unless the user explicitly asks for this cleanup to happen. Execution will always be correct.
References PHX::FieldTag::identifier().