Serac
0.1
Serac is an implicit thermal strucural mechanics simulation code.
|
Various helper functions and macros for profiling using Caliper. More...
#include <string>
#include <sstream>
#include "serac/serac_config.hpp"
#include "mpi.h"
Go to the source code of this file.
Namespaces | |
serac | |
Accelerator functionality. | |
serac::profiling | |
profiling namespace | |
serac::profiling::detail | |
detail namespace | |
Macros | |
#define | SERAC_SET_METADATA(name, data) |
#define | SERAC_MARK_FUNCTION |
#define | SERAC_MARK_LOOP_BEGIN(id, name) |
#define | SERAC_MARK_LOOP_ITER(id, i) |
#define | SERAC_MARK_LOOP_END(id) |
#define | SERAC_MARK_BEGIN(name) |
#define | SERAC_MARK_END(name) |
#define | SERAC_PROFILE_SCOPE(name) |
#define | SERAC_PROFILE_EXPR(name, expr) expr |
#define | SERAC_PROFILE_EXPR_LOOP(name, expr, ntest) expr |
Functions | |
void | serac::profiling::initialize ([[maybe_unused]] MPI_Comm comm=MPI_COMM_WORLD,[[maybe_unused]] std::string options="") |
Initializes performance monitoring using the Caliper and Adiak libraries. More... | |
void | serac::profiling::finalize () |
Concludes performance monitoring and writes collected data to a file. | |
void | serac::profiling::detail::startCaliperRegion (const char *name) |
Caliper method for marking the start of a profiling region. More... | |
void | serac::profiling::detail::endCaliperRegion (const char *name) |
Caliper methods for marking the end of a region. More... | |
template<typename... T> | |
std::string | serac::profiling::concat (T... args) |
Produces a string by applying << to all arguments. | |
Various helper functions and macros for profiling using Caliper.
Definition in file profiling.hpp.
#define SERAC_MARK_BEGIN | ( | name | ) |
Marks the start of a region Caliper profiling
Definition at line 145 of file profiling.hpp.
#define SERAC_MARK_END | ( | name | ) |
Marks the end of a region Caliper profiling
Definition at line 146 of file profiling.hpp.
#define SERAC_MARK_FUNCTION |
Marks a function for Caliper profiling
Definition at line 141 of file profiling.hpp.
#define SERAC_MARK_LOOP_BEGIN | ( | id, | |
name | |||
) |
Marks the beginning of a loop block for Caliper profiling
Definition at line 142 of file profiling.hpp.
#define SERAC_MARK_LOOP_END | ( | id | ) |
Marks the end of a loop block for Caliper profiling
Definition at line 144 of file profiling.hpp.
#define SERAC_MARK_LOOP_ITER | ( | id, | |
i | |||
) |
Marks the beginning of a loop iteration for Caliper profiling
Definition at line 143 of file profiling.hpp.
#define SERAC_PROFILE_EXPR | ( | name, | |
expr | |||
) | expr |
Profiles a single expression using a cali::ScopeAnnotation internally. Returns evaluation.
Definition at line 148 of file profiling.hpp.
#define SERAC_PROFILE_EXPR_LOOP | ( | name, | |
expr, | |||
ntest | |||
) | expr |
Profiles an expression several times. Returns the last evaluation
Definition at line 149 of file profiling.hpp.
#define SERAC_PROFILE_SCOPE | ( | name | ) |
Uses cali::ScopeAnnotation to profile a particular scope
Definition at line 147 of file profiling.hpp.
#define SERAC_SET_METADATA | ( | name, | |
data | |||
) |
Sets metadata in adiak/caliper. Calls adiak::value
Definition at line 84 of file profiling.hpp.