MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

#include <MueLu_PerfModels_decl.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 = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
class MueLu::PerfModels< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Definition at line 28 of file MueLu_PerfModels_decl.hpp.

Constructor & Destructor Documentation

◆ PerfModels()

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.

◆ ~PerfModels()

Definition at line 299 of file MueLu_PerfModels_def.hpp.

Member Function Documentation

◆ stream_vector_make_table()

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.

◆ has_stream_vector_table()

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

Definition at line 46 of file MueLu_PerfModels_decl.hpp.

◆ stream_vector_copy_lookup()

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.

◆ stream_vector_add_lookup()

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.

◆ latency_corrected_stream_vector_copy_lookup()

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.

◆ latency_corrected_stream_vector_add_lookup()

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.

◆ stream_vector_lookup()

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.

◆ latency_corrected_stream_vector_lookup()

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.

◆ print_stream_vector_table()

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.

◆ print_latency_corrected_stream_vector_table()

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.

◆ pingpong_make_table()

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.

◆ has_pingpong_table()

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

Definition at line 71 of file MueLu_PerfModels_decl.hpp.

◆ pingpong_host_lookup()

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.

◆ pingpong_device_lookup()

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.

◆ print_pingpong_table()

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.

◆ halopong_make_table()

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.

◆ has_halopong_table()

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

Definition at line 88 of file MueLu_PerfModels_decl.hpp.

◆ halopong_host_lookup()

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.

◆ halopong_device_lookup()

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.

◆ print_halopong_table()

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.

◆ launch_latency_make_table()

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.

◆ has_launch_latency_table()

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

Definition at line 102 of file MueLu_PerfModels_decl.hpp.

◆ launch_latency_lookup()

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.

◆ print_launch_latency_table()

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.

◆ print_stream_vector_table_impl()

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

◆ stream_sizes_

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

Definition at line 113 of file MueLu_PerfModels_decl.hpp.

◆ stream_copy_times_

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

Definition at line 114 of file MueLu_PerfModels_decl.hpp.

◆ stream_add_times_

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

Definition at line 115 of file MueLu_PerfModels_decl.hpp.

◆ latency_corrected_stream_copy_times_

template<class Scalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
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.

◆ latency_corrected_stream_add_times_

template<class Scalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
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.

◆ pingpong_sizes_

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

Definition at line 119 of file MueLu_PerfModels_decl.hpp.

◆ pingpong_host_times_

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

Definition at line 120 of file MueLu_PerfModels_decl.hpp.

◆ pingpong_device_times_

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

Definition at line 121 of file MueLu_PerfModels_decl.hpp.

◆ halopong_sizes_

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

Definition at line 123 of file MueLu_PerfModels_decl.hpp.

◆ halopong_host_times_

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

Definition at line 124 of file MueLu_PerfModels_decl.hpp.

◆ halopong_device_times_

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

Definition at line 125 of file MueLu_PerfModels_decl.hpp.

◆ launch_and_wait_latency_

template<class Scalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
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: