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 ()
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 64 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 341 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 350 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 81 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 387 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 393 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 406 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 412 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 399 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 418 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 425 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 431 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 485 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 106 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 495 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 501 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 508 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 548 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 123 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 558 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 564 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 571 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 610 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 139 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 634 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 641 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 438 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 151 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 152 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 153 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 154 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 155 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 157 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 158 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 159 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 161 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 162 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 163 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 165 of file MueLu_PerfModels_decl.hpp.


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