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)
 
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)
 
void print_latency_corrected_stream_vector_table (std::ostream &out)
 
void pingpong_make_table (int KERNEL_REPEATS, int LOG_MAX_SIZE, const RCP< const Teuchos::Comm< int > > &comm)
 
double pingpong_host_lookup (int SIZE_IN_BYTES)
 
double pingpong_device_lookup (int SIZE_IN_BYTES)
 
void print_pingpong_table (std::ostream &out)
 
void launch_latency_make_table (int KERNEL_REPEATS)
 
double launch_latency_lookup ()
 
void print_launch_latency_table (std::ostream &out)
 

Private Member Functions

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

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_
 
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 63 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 247 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 252 of file MueLu_PerfModels_def.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 289 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 295 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 308 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 314 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 301 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 320 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)

Definition at line 327 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)

Definition at line 333 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 382 of file MueLu_PerfModels_def.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 392 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 398 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)

Definition at line 405 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 437 of file MueLu_PerfModels_def.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 460 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)

Definition at line 467 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 
)
private

Definition at line 340 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 129 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 130 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 131 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 132 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 133 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 135 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 136 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 137 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 139 of file MueLu_PerfModels_decl.hpp.


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