Phalanx
Development
|
Container that holds all data associated with an evaluation type. More...
#include <Phalanx_EvaluationContainer.hpp>
Public Member Functions | |
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) |
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) |
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 () |
![]() | |
virtual void | writeGraphvizFile (const std::string filename, bool writeEvaluatedFields, bool writeDependentFields, bool debugRegisteredEvaluators) const |
Protected Attributes | |
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::vector< PHX::index_size_type > | kokkos_extended_data_type_dimensions_ |
bool | build_device_dag_ |
![]() | |
PHX::DagManager< Traits > | dag_manager_ |
Container that holds all data associated with an evaluation type.
void PHX::EvaluationContainer< EvalT, Traits >::buildDag | ( | ) |
Build the DAG. This is automatically called by the postRegistrationSetup() method. This function is a power user feature that allows for cases where the user would like to build the dag and query it to use information from the DAG prior to allocating and binding the memory to fields.
const std::vector< Teuchos::RCP< PHX::FieldTag > > & PHX::EvaluationContainer< EvalT, Traits >::getFieldTags | ( | ) |
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.