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 ()
 
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 51 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 331 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 339 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 81 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 373 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 379 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 391 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 397 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 385 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 403 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 408 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 413 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 461 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 106 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 469 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 475 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 480 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 515 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 123 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 523 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 529 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 534 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 570 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 137 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 594 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 599 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 418 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 148 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 149 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 150 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 151 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 152 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 154 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 155 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 156 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 158 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 159 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 160 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 162 of file MueLu_PerfModels_decl.hpp.


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