Timer storage for tensor products and decompositions. More...
#include <iosfwd>
#include <string>
#include "inc/util/memory_size.h"
#include "inc/util/tensor_timer_bare.h"
#include "inc/util/scalars.h"
Classes | |
struct | syten::SourceLocation |
Dummy struct to stand in until the compiler supports the proper source location. More... | |
Namespaces | |
namespace | syten |
Syten namespace. | |
Macros | |
#define | SYTEN_PRETTY_SLOC(x) x.file_name(), ":", x.line(), ".", x.column() |
Decomposes a SourceLocation object into three parts suitable for printing in SYTEN_ASSERT_MSG(…, SYTEN_PRETTY_SLOC(loc)) . More... | |
Enumerations | |
enum class | syten::TensorTimer::DataPointType { Product , SVD , QR , EigenSym , EigenGen , Copy } |
Defines the type of a data point stored. More... | |
Functions | |
void | syten::TensorTimer::timer_add_copy (SourceLocation const &location, SRDef wall_time, SRDef cpu_time, Index blocks_in, Index rank_in, MemoryUsage::MemorySize mem_in) |
Add a data point to the list of stored timed tensor copies. More... | |
void | syten::TensorTimer::timer_add_decomp (SourceLocation const &location, DataPointType type, SRDef wall_time, SRDef cpu_time, Index blocks_in, Index rank_in, MemoryUsage::MemorySize mem_in, Index blocks_pout, Index rank_pout, MemoryUsage::MemorySize mem_pout, Index blocks_sout, Index rank_sout, MemoryUsage::MemorySize mem_sout) |
Adds a data point to the list of stored timed tensor decompositions. More... | |
void | syten::TensorTimer::timer_add_product (SourceLocation const &location, SRDef wall_time, SRDef cpu_time, Index blocks_a, Index blocks_b, Index blocks_c, Index rank_a, Index rank_b, Index rank_c, MemoryUsage::MemorySize mem_a, MemoryUsage::MemorySize mem_b, MemoryUsage::MemorySize mem_c) |
Adds a data point to the list of stored timed tensor products. More... | |
void | syten::TensorTimer::timer_print_data (std::ostream &out) |
Prints the stored data to the specified stream. More... | |
Timer storage for tensor products and decompositions.
Should only be called if EnvVars::tensor_time is true.