diff --git a/src/Examples/LoggerExample.cpp b/src/Examples/LoggerExample.cpp index cb4e3dc4a8548cb05eda84943e297e09b310e5e9..5b8ed51c8645cd4c559712a944b5476d4fe10d39 100644 --- a/src/Examples/LoggerExample.cpp +++ b/src/Examples/LoggerExample.cpp @@ -1,6 +1,5 @@ #include <iostream> #include <TNL/Logger.h> -#include <TNL/Config/ParameterContainer.h> using namespace TNL; using namespace std; @@ -9,15 +8,11 @@ int main() { Logger logger(50,cout); - Config::ParameterContainer parameters; - logger.writeSystemInformation(parameters); + logger.writeSystemInformation( false ); logger.writeHeader("MyTitle"); - parameters.template addParameter< String >( "Device:", "cuda" ); - parameters.template addParameter< String >( "Real type:", "double" ); - parameters.template addParameter< String >( "Index type:", "int" ); logger.writeSeparator(); - logger.writeSystemInformation(parameters); + logger.writeSystemInformation( true ); logger.writeSeparator(); } diff --git a/src/TNL/Logger.h b/src/TNL/Logger.h index efcbbb3b5a1db18df8ae59827d30d13185d39188..383e084a360fdf5841fc220cef02e38d72949e94 100644 --- a/src/TNL/Logger.h +++ b/src/TNL/Logger.h @@ -43,8 +43,8 @@ public: /// \brief Inserts information about various system parameters into the log. /// - /// \param parameters A container with configuration parameters. - bool writeSystemInformation( const Config::ParameterContainer& parameters ); + /// \param printGPUInfo When \e true, prints information about available GPUs. + bool writeSystemInformation( bool printGPUInfo = false ); ///// /// \brief Inserts a line with current time into the log. diff --git a/src/TNL/Logger_impl.h b/src/TNL/Logger_impl.h index d419f31b8b2f926ac6d547635a66ba9814fab34b..148052468bae58fe9f02da13f1cfadd0b5c635c6 100644 --- a/src/TNL/Logger_impl.h +++ b/src/TNL/Logger_impl.h @@ -42,7 +42,7 @@ Logger::writeSeparator() } inline bool -Logger::writeSystemInformation( const Config::ParameterContainer& parameters ) +Logger::writeSystemInformation( bool printGPUInfo ) { // compiler detection macros: // http://nadeausoftware.com/articles/2012/10/c_c_tip_how_detect_compiler_name_and_version_using_compiler_predefined_macros @@ -88,7 +88,7 @@ Logger::writeSystemInformation( const Config::ParameterContainer& parameters ) + convertToString( cacheSizes.L3 ); writeParameter< String >( "Cache (L1d, L1i, L2, L3):", cacheInfo, 1 ); - if( parameters.getParameter< String >( "device" ) == "cuda" ) { + if( printGPUInfo ) { writeParameter< String >( "CUDA GPU info", "" ); // TODO: Printing all devices does not make sense until TNL can actually // use more than one device for computations. Printing only the active @@ -129,15 +129,7 @@ Logger::writeParameter( const String& label, const Config::ParameterContainer& parameters, int parameterLevel ) { - stream << "| "; - int i; - for( i = 0; i < parameterLevel; i ++ ) - stream << " "; - std::stringstream str; - str << parameters.getParameter< T >( parameterName ); - stream << label - << std::setw( width - label.getLength() - parameterLevel - 3 ) - << str.str() << " |" << std::endl; + writeParameter( label, parameters.getParameter< T >( parameterName ), parameterLevel ); } template< typename T > @@ -148,7 +140,7 @@ Logger::writeParameter( const String& label, { stream << "| "; int i; - for( i = 0; i < parameterLevel; i ++ ) + for( i = 0; i < parameterLevel; i++ ) stream << " "; std::stringstream str; str << value; diff --git a/src/TNL/Solvers/PDE/PDESolver_impl.h b/src/TNL/Solvers/PDE/PDESolver_impl.h index d8e4d66f6937a178acce890a05c43d085f659335..37ade9f38e74427903b1c624a383544179839bed 100644 --- a/src/TNL/Solvers/PDE/PDESolver_impl.h +++ b/src/TNL/Solvers/PDE/PDESolver_impl.h @@ -86,7 +86,8 @@ writeProlog( Logger& logger, } Communicator::writeProlog( logger ); logger.writeSeparator(); - logger.writeSystemInformation( parameters ); + const bool printGPUs = parameters.getParameter< String >( "device" ) == "cuda"; + logger.writeSystemInformation( printGPUs ); logger.writeSeparator(); logger.writeCurrentTime( "Started at:" ); logger.writeSeparator();