Loading src/Benchmarks/Benchmarks.h +6 −6 Original line number Diff line number Diff line Loading @@ -45,12 +45,12 @@ struct BenchmarkResult virtual HeaderElements getTableHeader() const { return HeaderElements( { std::pair< String, int >( "time", 8 ), std::pair< String, int >( "stddev", 8 ), std::pair< String, int >( "stddev/time", 8 ), std::pair< String, int >( "bandwidth", 8 ), std::pair< String, int >( "speedup", 8 ) } ); return HeaderElements({ "time", "stddev", "stddev/time", "bandwidth", "speedup" }); } virtual std::vector< int > getColumnWidthHints() const { return std::vector< int >({ 8, 8, 8, 8, 8 }); } virtual RowElements getRowElements() const Loading src/Benchmarks/JsonLogging.h +18 −9 Original line number Diff line number Diff line Loading @@ -84,9 +84,10 @@ public: using MetadataColumns = std::vector<MetadataElement>; using CommonLogs = std::vector< std::pair< const char*, String > >; using LogsMetadata = std::vector< std::pair< String, int > >; using LogsMetadata = HeaderElements; using WidthHints = std::vector< int >; using HeaderElements = std::vector< std::pair< String, int > >; using HeaderElements = std::vector< String >; using RowElements = JsonLoggingRowElements; JsonLogging( int verbose = true, Loading @@ -113,19 +114,25 @@ public: } }; void resetLogsMetada() { this->logsMetadata.clear(); }; void resetLogsMetada() { this->logsMetadata.clear(); this->widthHints.clear(); } void addLogsMetadata( const std::vector< std::pair< String, int > >& md ) void addLogsMetadata( const LogsMetadata& md, const WidthHints& widths ) { this->logsMetadata.insert( this->logsMetadata.end(), md.begin(), md.end() ); this->widthHints.insert( this->widthHints.end(), widths.begin(), widths.end() ); } void writeHeader() { TNL_ASSERT_EQ( this->logsMetadata.size(), this->widthHints.size(), "" ); if( verbose ) { for( auto md : this->logsMetadata ) std::cout << std::setw( md.second ) << md.first; for( std::size_t i = 0; i < this->logsMetadata.size(); i++ ) std::cout << std::setw( this->widthHints[ i ] ) << this->logsMetadata[ i ]; std::cout << std::endl; } } Loading @@ -147,14 +154,15 @@ public: log << " \"" << lg.first << "\" : \"" << lg.second << "\""; } auto md = this->logsMetadata.begin(); std::size_t i = 0; for( auto el : rowEls ) { if( verbose ) std::cout << std::setw( md->second ) << el; std::cout << std::setw( this->widthHints[ i ] ) << el; if( idx++ > 0 ) log << "," << std::endl; log << " \"" << md++->first << "\" : \"" << el << "\""; log << " \"" << this->logsMetadata[ i ] << "\" : \"" << el << "\""; i++; } log << std::endl << " }"; this->lineStarted = true; Loading Loading @@ -256,6 +264,7 @@ protected: // new JSON implementation LogsMetadata logsMetadata; WidthHints widthHints; CommonLogs commonLogs; String outputMode; Loading src/Benchmarks/LinearSolvers/benchmarks.h +1 −9 Original line number Diff line number Diff line Loading @@ -145,15 +145,7 @@ benchmarkSolver( Benchmark<>& benchmark, virtual HeaderElements getTableHeader() const override { return HeaderElements( { std::pair< String, int >( "time", 8 ), std::pair< String, int >( "stddev", 8 ), std::pair< String, int >( "stddev/time", 8 ), std::pair< String, int >( "speedup", 8 ), std::pair< String, int >( "converged", 8 ), std::pair< String, int >( "iterations", 8 ), std::pair< String, int >( "residue_precond", 8 ), std::pair< String, int >( "residue_true", 8 ) } ); return HeaderElements({ "time", "stddev", "stddev/time", "speedup", "converged", "iterations", "residue_precond", "residue_true" }); } virtual RowElements getRowElements() const override Loading src/Benchmarks/Logging.h +3 −3 Original line number Diff line number Diff line Loading @@ -84,7 +84,7 @@ public: using CommonLogs = std::vector< std::pair< const char*, String > >; using HeaderElements = std::vector< std::pair< String, int > >; using HeaderElements = std::vector< String >; using RowElements = LoggingRowElements; Logging( int verbose = true, Loading Loading @@ -149,7 +149,7 @@ public: std::cout << std::setw( 15 ) << ""; for( auto & it : subElements ) { std::cout << std::setw( 15 ) << it.first; std::cout << std::setw( 15 ) << it; } std::cout << std::endl; Loading Loading @@ -178,7 +178,7 @@ public: log << header_indent << " " << spanningElement << std::endl; for( auto & it : subElements ) { log << header_indent << "! " << it.first << std::endl; log << header_indent << "! " << it << std::endl; } if( horizontalGroups.size() > 0 ) { Loading src/Benchmarks/SpMV/SpmvBenchmarkResult.h +6 −11 Original line number Diff line number Diff line Loading @@ -45,17 +45,12 @@ struct SpmvBenchmarkResult virtual HeaderElements getTableHeader() const override { return HeaderElements( { std::pair< String, int >( "format", 35 ), std::pair< String, int >( "device", 12 ), std::pair< String, int >( "non-zeros", 12 ), std::pair< String, int >( "time", 12 ), std::pair< String, int >( "stddev", 12 ), std::pair< String, int >( "stddev/time", 14 ), std::pair< String, int >( "bandwidth", 12 ), std::pair< String, int >( "speedup", 12 ), std::pair< String, int >( "CSR Diff.Max", 14 ), std::pair< String, int >( "CSR Diff.L2", 14 ) } ); return HeaderElements({ "format", "device", "non-zeros", "time", "stddev", "stddev/time", "bandwidth", "speedup", "CSR Diff.Max", "CSR Diff.L2" }); } virtual std::vector< int > getColumnWidthHints() const override { return std::vector< int >({ 35, 12, 12, 12, 12, 14, 12, 12, 14, 14 }); } void setFormat( const String& format ) { this->format = format; }; Loading Loading
src/Benchmarks/Benchmarks.h +6 −6 Original line number Diff line number Diff line Loading @@ -45,12 +45,12 @@ struct BenchmarkResult virtual HeaderElements getTableHeader() const { return HeaderElements( { std::pair< String, int >( "time", 8 ), std::pair< String, int >( "stddev", 8 ), std::pair< String, int >( "stddev/time", 8 ), std::pair< String, int >( "bandwidth", 8 ), std::pair< String, int >( "speedup", 8 ) } ); return HeaderElements({ "time", "stddev", "stddev/time", "bandwidth", "speedup" }); } virtual std::vector< int > getColumnWidthHints() const { return std::vector< int >({ 8, 8, 8, 8, 8 }); } virtual RowElements getRowElements() const Loading
src/Benchmarks/JsonLogging.h +18 −9 Original line number Diff line number Diff line Loading @@ -84,9 +84,10 @@ public: using MetadataColumns = std::vector<MetadataElement>; using CommonLogs = std::vector< std::pair< const char*, String > >; using LogsMetadata = std::vector< std::pair< String, int > >; using LogsMetadata = HeaderElements; using WidthHints = std::vector< int >; using HeaderElements = std::vector< std::pair< String, int > >; using HeaderElements = std::vector< String >; using RowElements = JsonLoggingRowElements; JsonLogging( int verbose = true, Loading @@ -113,19 +114,25 @@ public: } }; void resetLogsMetada() { this->logsMetadata.clear(); }; void resetLogsMetada() { this->logsMetadata.clear(); this->widthHints.clear(); } void addLogsMetadata( const std::vector< std::pair< String, int > >& md ) void addLogsMetadata( const LogsMetadata& md, const WidthHints& widths ) { this->logsMetadata.insert( this->logsMetadata.end(), md.begin(), md.end() ); this->widthHints.insert( this->widthHints.end(), widths.begin(), widths.end() ); } void writeHeader() { TNL_ASSERT_EQ( this->logsMetadata.size(), this->widthHints.size(), "" ); if( verbose ) { for( auto md : this->logsMetadata ) std::cout << std::setw( md.second ) << md.first; for( std::size_t i = 0; i < this->logsMetadata.size(); i++ ) std::cout << std::setw( this->widthHints[ i ] ) << this->logsMetadata[ i ]; std::cout << std::endl; } } Loading @@ -147,14 +154,15 @@ public: log << " \"" << lg.first << "\" : \"" << lg.second << "\""; } auto md = this->logsMetadata.begin(); std::size_t i = 0; for( auto el : rowEls ) { if( verbose ) std::cout << std::setw( md->second ) << el; std::cout << std::setw( this->widthHints[ i ] ) << el; if( idx++ > 0 ) log << "," << std::endl; log << " \"" << md++->first << "\" : \"" << el << "\""; log << " \"" << this->logsMetadata[ i ] << "\" : \"" << el << "\""; i++; } log << std::endl << " }"; this->lineStarted = true; Loading Loading @@ -256,6 +264,7 @@ protected: // new JSON implementation LogsMetadata logsMetadata; WidthHints widthHints; CommonLogs commonLogs; String outputMode; Loading
src/Benchmarks/LinearSolvers/benchmarks.h +1 −9 Original line number Diff line number Diff line Loading @@ -145,15 +145,7 @@ benchmarkSolver( Benchmark<>& benchmark, virtual HeaderElements getTableHeader() const override { return HeaderElements( { std::pair< String, int >( "time", 8 ), std::pair< String, int >( "stddev", 8 ), std::pair< String, int >( "stddev/time", 8 ), std::pair< String, int >( "speedup", 8 ), std::pair< String, int >( "converged", 8 ), std::pair< String, int >( "iterations", 8 ), std::pair< String, int >( "residue_precond", 8 ), std::pair< String, int >( "residue_true", 8 ) } ); return HeaderElements({ "time", "stddev", "stddev/time", "speedup", "converged", "iterations", "residue_precond", "residue_true" }); } virtual RowElements getRowElements() const override Loading
src/Benchmarks/Logging.h +3 −3 Original line number Diff line number Diff line Loading @@ -84,7 +84,7 @@ public: using CommonLogs = std::vector< std::pair< const char*, String > >; using HeaderElements = std::vector< std::pair< String, int > >; using HeaderElements = std::vector< String >; using RowElements = LoggingRowElements; Logging( int verbose = true, Loading Loading @@ -149,7 +149,7 @@ public: std::cout << std::setw( 15 ) << ""; for( auto & it : subElements ) { std::cout << std::setw( 15 ) << it.first; std::cout << std::setw( 15 ) << it; } std::cout << std::endl; Loading Loading @@ -178,7 +178,7 @@ public: log << header_indent << " " << spanningElement << std::endl; for( auto & it : subElements ) { log << header_indent << "! " << it.first << std::endl; log << header_indent << "! " << it << std::endl; } if( horizontalGroups.size() > 0 ) { Loading
src/Benchmarks/SpMV/SpmvBenchmarkResult.h +6 −11 Original line number Diff line number Diff line Loading @@ -45,17 +45,12 @@ struct SpmvBenchmarkResult virtual HeaderElements getTableHeader() const override { return HeaderElements( { std::pair< String, int >( "format", 35 ), std::pair< String, int >( "device", 12 ), std::pair< String, int >( "non-zeros", 12 ), std::pair< String, int >( "time", 12 ), std::pair< String, int >( "stddev", 12 ), std::pair< String, int >( "stddev/time", 14 ), std::pair< String, int >( "bandwidth", 12 ), std::pair< String, int >( "speedup", 12 ), std::pair< String, int >( "CSR Diff.Max", 14 ), std::pair< String, int >( "CSR Diff.L2", 14 ) } ); return HeaderElements({ "format", "device", "non-zeros", "time", "stddev", "stddev/time", "bandwidth", "speedup", "CSR Diff.Max", "CSR Diff.L2" }); } virtual std::vector< int > getColumnWidthHints() const override { return std::vector< int >({ 35, 12, 12, 12, 12, 14, 12, 12, 14, 14 }); } void setFormat( const String& format ) { this->format = format; }; Loading