SyTen
tensor_timer.h File Reference

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"
+ Include dependency graph for tensor_timer.h:
+ This graph shows which files directly or indirectly include this file:

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...
 

Detailed Description

Timer storage for tensor products and decompositions.

Should only be called if EnvVars::tensor_time is true.