MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

#include <MueLu_PerfModels_fwd.hpp>

Public Member Functions

 PerfModels ()
 
 ~PerfModels ()
 
void stream_vector_make_table (int KERNEL_REPEATS, int LOG_MAX_SIZE=20)
 
bool has_stream_vector_table () const
 
double stream_vector_copy_lookup (int SIZE_IN_BYTES)
 
double stream_vector_add_lookup (int SIZE_IN_BYTES)
 
double latency_corrected_stream_vector_copy_lookup (int SIZE_IN_BYTES)
 
double latency_corrected_stream_vector_add_lookup (int SIZE_IN_BYTES)
 
double stream_vector_lookup (int SIZE_IN_BYTES)
 
double latency_corrected_stream_vector_lookup (int SIZE_IN_BYTES)
 
void print_stream_vector_table (std::ostream &out, const std::string &prefix="")
 
void print_latency_corrected_stream_vector_table (std::ostream &out, const std::string &prefix="")
 
void pingpong_make_table (int KERNEL_REPEATS, int LOG_MAX_SIZE, const RCP< const Teuchos::Comm< int > > &comm)
 
bool has_pingpong_table () const
 
double pingpong_host_lookup (int SIZE_IN_BYTES)
 
double pingpong_device_lookup (int SIZE_IN_BYTES)
 
void print_pingpong_table (std::ostream &out, const std::string &prefix="")
 
void halopong_make_table (int KERNEL_REPEATS, int LOG_MAX_SIZE, const RCP< const Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node > > &import)
 
bool has_halopong_table () const
 
double halopong_host_lookup (int SIZE_IN_BYTES_PER_MESSAGE)
 
double halopong_device_lookup (int SIZE_IN_BYTES_PER_MESSAGE)
 
void print_halopong_table (std::ostream &out, const std::string &prefix="")
 
void launch_latency_make_table (int KERNEL_REPEATS)
 
bool has_launch_latency_table () const
 
double launch_latency_lookup ()
 
void print_launch_latency_table (std::ostream &out, const std::string &prefix="")
 

Private Member Functions

void print_stream_vector_table_impl (std::ostream &out, bool use_latency_correction, const std::string &prefix)
 

Private Attributes

std::vector< int > stream_sizes_
 
std::vector< double > stream_copy_times_
 
std::vector< double > stream_add_times_
 
std::vector< double > latency_corrected_stream_copy_times_
 
std::vector< double > latency_corrected_stream_add_times_
 
std::vector< int > pingpong_sizes_
 
std::vector< double > pingpong_host_times_
 
std::vector< double > pingpong_device_times_
 
std::vector< int > halopong_sizes_
 
std::vector< double > halopong_host_times_
 
std::vector< double > halopong_device_times_
 
double launch_and_wait_latency_
 

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
class MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Definition at line 15 of file MueLu_PerfModels_fwd.hpp.

Constructor & Destructor Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::PerfModels ( )

Definition at line 295 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~PerfModels ( )

Definition at line 299 of file MueLu_PerfModels_def.hpp.

Member Function Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::stream_vector_make_table ( int  KERNEL_REPEATS,
int  LOG_MAX_SIZE = 20 
)

Definition at line 306 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::has_stream_vector_table ( ) const
inline

Definition at line 46 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::stream_vector_copy_lookup ( int  SIZE_IN_BYTES)

Definition at line 340 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::stream_vector_add_lookup ( int  SIZE_IN_BYTES)

Definition at line 346 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::latency_corrected_stream_vector_copy_lookup ( int  SIZE_IN_BYTES)

Definition at line 358 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::latency_corrected_stream_vector_add_lookup ( int  SIZE_IN_BYTES)

Definition at line 364 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::stream_vector_lookup ( int  SIZE_IN_BYTES)

Definition at line 352 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::latency_corrected_stream_vector_lookup ( int  SIZE_IN_BYTES)

Definition at line 370 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::print_stream_vector_table ( std::ostream &  out,
const std::string &  prefix = "" 
)

Definition at line 375 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::print_latency_corrected_stream_vector_table ( std::ostream &  out,
const std::string &  prefix = "" 
)

Definition at line 380 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::pingpong_make_table ( int  KERNEL_REPEATS,
int  LOG_MAX_SIZE,
const RCP< const Teuchos::Comm< int > > &  comm 
)

Definition at line 428 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::has_pingpong_table ( ) const
inline

Definition at line 71 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::pingpong_host_lookup ( int  SIZE_IN_BYTES)

Definition at line 436 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::pingpong_device_lookup ( int  SIZE_IN_BYTES)

Definition at line 442 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::print_pingpong_table ( std::ostream &  out,
const std::string &  prefix = "" 
)

Definition at line 447 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::halopong_make_table ( int  KERNEL_REPEATS,
int  LOG_MAX_SIZE,
const RCP< const Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node > > &  import 
)

Definition at line 482 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::has_halopong_table ( ) const
inline

Definition at line 88 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::halopong_host_lookup ( int  SIZE_IN_BYTES_PER_MESSAGE)

Definition at line 490 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::halopong_device_lookup ( int  SIZE_IN_BYTES_PER_MESSAGE)

Definition at line 496 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::print_halopong_table ( std::ostream &  out,
const std::string &  prefix = "" 
)

Definition at line 501 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::launch_latency_make_table ( int  KERNEL_REPEATS)

Definition at line 537 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::has_launch_latency_table ( ) const
inline

Definition at line 102 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::launch_latency_lookup ( )

Definition at line 561 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::print_launch_latency_table ( std::ostream &  out,
const std::string &  prefix = "" 
)

Definition at line 566 of file MueLu_PerfModels_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::print_stream_vector_table_impl ( std::ostream &  out,
bool  use_latency_correction,
const std::string &  prefix 
)
private

Definition at line 385 of file MueLu_PerfModels_def.hpp.

Member Data Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector<int> MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::stream_sizes_
private

Definition at line 113 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector<double> MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::stream_copy_times_
private

Definition at line 114 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector<double> MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::stream_add_times_
private

Definition at line 115 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector<double> MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::latency_corrected_stream_copy_times_
private

Definition at line 116 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector<double> MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::latency_corrected_stream_add_times_
private

Definition at line 117 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector<int> MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::pingpong_sizes_
private

Definition at line 119 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector<double> MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::pingpong_host_times_
private

Definition at line 120 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector<double> MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::pingpong_device_times_
private

Definition at line 121 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector<int> MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::halopong_sizes_
private

Definition at line 123 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector<double> MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::halopong_host_times_
private

Definition at line 124 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector<double> MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::halopong_device_times_
private

Definition at line 125 of file MueLu_PerfModels_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >::launch_and_wait_latency_
private

Definition at line 127 of file MueLu_PerfModels_decl.hpp.


The documentation for this class was generated from the following files: