10#ifndef MUELU_PERFMODELS_HPP
11#define MUELU_PERFMODELS_HPP
14#include "Xpetra_Import_fwd.hpp"
18#include <Teuchos_DefaultComm.hpp>
87 void halopong_make_table(
int KERNEL_REPEATS,
int LOG_MAX_SIZE,
const RCP<
const Xpetra::Import<LocalOrdinal, GlobalOrdinal, Node> > &
import);
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
double launch_and_wait_latency_
std::vector< int > halopong_sizes_
void print_halopong_table(std::ostream &out, const std::string &prefix="")
std::vector< int > pingpong_sizes_
void halopong_make_table(int KERNEL_REPEATS, int LOG_MAX_SIZE, const RCP< const Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node > > &import)
void print_launch_latency_table(std::ostream &out, const std::string &prefix="")
std::vector< double > halopong_device_times_
void print_stream_vector_table(std::ostream &out, const std::string &prefix="")
std::vector< int > stream_sizes_
double stream_vector_copy_lookup(int SIZE_IN_BYTES)
double launch_latency_lookup()
void stream_vector_make_table(int KERNEL_REPEATS, int LOG_MAX_SIZE=20)
bool has_launch_latency_table() const
double latency_corrected_stream_vector_lookup(int SIZE_IN_BYTES)
void print_latency_corrected_stream_vector_table(std::ostream &out, const std::string &prefix="")
void print_stream_vector_table_impl(std::ostream &out, bool use_latency_correction, const std::string &prefix)
std::vector< double > latency_corrected_stream_copy_times_
void pingpong_make_table(int KERNEL_REPEATS, int LOG_MAX_SIZE, const RCP< const Teuchos::Comm< int > > &comm)
std::vector< double > pingpong_device_times_
bool has_pingpong_table() const
bool has_stream_vector_table() const
double halopong_device_lookup(int SIZE_IN_BYTES_PER_MESSAGE)
double latency_corrected_stream_vector_copy_lookup(int SIZE_IN_BYTES)
double pingpong_device_lookup(int SIZE_IN_BYTES)
bool has_halopong_table() const
std::vector< double > latency_corrected_stream_add_times_
double pingpong_host_lookup(int SIZE_IN_BYTES)
double latency_corrected_stream_vector_add_lookup(int SIZE_IN_BYTES)
double stream_vector_add_lookup(int SIZE_IN_BYTES)
void print_pingpong_table(std::ostream &out, const std::string &prefix="")
double halopong_host_lookup(int SIZE_IN_BYTES_PER_MESSAGE)
std::vector< double > stream_copy_times_
double stream_vector_lookup(int SIZE_IN_BYTES)
std::vector< double > halopong_host_times_
std::vector< double > stream_add_times_
std::vector< double > pingpong_host_times_
void launch_latency_make_table(int KERNEL_REPEATS)
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode