From 3a9f4cde26073c541c879b3c3364cf59319687ad Mon Sep 17 00:00:00 2001 From: arng40 Date: Thu, 13 Nov 2025 10:28:27 +0100 Subject: [PATCH 01/23] initialize variable in eventManager --- src/coreComponents/events/EventManager.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/coreComponents/events/EventManager.cpp b/src/coreComponents/events/EventManager.cpp index 7e2415131b7..e8d9c5060a1 100644 --- a/src/coreComponents/events/EventManager.cpp +++ b/src/coreComponents/events/EventManager.cpp @@ -63,18 +63,22 @@ EventManager::EventManager( string const & name, setDescription( "Maximum simulation cycle for the global event loop. Disabled by default." ); registerWrapper( viewKeyStruct::timeString(), &m_time ). + setApplyDefaultValue( 0 ). setRestartFlags( RestartFlags::WRITE_AND_READ ). setDescription( "Current simulation time." ); registerWrapper( viewKeyStruct::dtString(), &m_dt ). + setApplyDefaultValue( 0 ). setRestartFlags( RestartFlags::WRITE_AND_READ ). setDescription( "Current simulation timestep." ); registerWrapper( viewKeyStruct::cycleString(), &m_cycle ). + setApplyDefaultValue( 0 ). setRestartFlags( RestartFlags::WRITE_AND_READ ). setDescription( "Current simulation cycle number." ); registerWrapper( viewKeyStruct::currentSubEventString(), &m_currentSubEvent ). + setApplyDefaultValue( 0 ). setRestartFlags( RestartFlags::WRITE_AND_READ ). setDescription( "Index of the current subevent." ); From 553a02de2e4e9e64df36508ad11c5f38556b0d1a Mon Sep 17 00:00:00 2001 From: arng40 Date: Thu, 13 Nov 2025 10:28:45 +0100 Subject: [PATCH 02/23] add main to testUnits --- src/coreComponents/common/unitTests/testUnits.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/coreComponents/common/unitTests/testUnits.cpp b/src/coreComponents/common/unitTests/testUnits.cpp index 9dc1685632d..c89413099cc 100644 --- a/src/coreComponents/common/unitTests/testUnits.cpp +++ b/src/coreComponents/common/unitTests/testUnits.cpp @@ -155,3 +155,10 @@ TEST( Units, SystemDurationFormatTest ) } } } + +int main( int ac, char * av[] ) +{ + ::testing::InitGoogleTest( &ac, av ); + int const result = RUN_ALL_TESTS(); + return result; +} From cd2259d932466b9891ab4f12c691bc7188ffbf3a Mon Sep 17 00:00:00 2001 From: arng40 Date: Thu, 13 Nov 2025 10:46:25 +0100 Subject: [PATCH 03/23] add default value in class --- src/coreComponents/events/EventManager.hpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/coreComponents/events/EventManager.hpp b/src/coreComponents/events/EventManager.hpp index 0e5024fb07c..1a9b7e47af4 100644 --- a/src/coreComponents/events/EventManager.hpp +++ b/src/coreComponents/events/EventManager.hpp @@ -150,25 +150,25 @@ class EventManager : public dataRepository::Group stdVector< real64 > const & subStepDts ) const; /// Min time for a simulation - real64 m_minTime; + real64 m_minTime= 0.0; /// Max time for a simulation - real64 m_maxTime; + real64 m_maxTime= 0.0; /// Maximum number of cycles for a simulation - integer m_maxCycle; + integer m_maxCycle= 0; /// Simulation timestamp at the beginning of the cycle - real64 m_time; + real64 m_time = 0.0; /// Current timestep request - real64 m_dt; + real64 m_dt = 0; /// Current cycle - integer m_cycle; + integer m_cycle = 0; /// Current subevent index - integer m_currentSubEvent; + integer m_currentSubEvent= 0; /// time output type TimeOutputFormat m_timeOutputFormat; From e6200984efd5a9c003b70e41285e5b63d0ddea9e Mon Sep 17 00:00:00 2001 From: arng40 Date: Thu, 13 Nov 2025 13:01:55 +0100 Subject: [PATCH 04/23] test with just hpp --- src/coreComponents/events/EventManager.cpp | 4 ---- src/coreComponents/events/EventManager.hpp | 12 ++++++------ 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/coreComponents/events/EventManager.cpp b/src/coreComponents/events/EventManager.cpp index e8d9c5060a1..7e2415131b7 100644 --- a/src/coreComponents/events/EventManager.cpp +++ b/src/coreComponents/events/EventManager.cpp @@ -63,22 +63,18 @@ EventManager::EventManager( string const & name, setDescription( "Maximum simulation cycle for the global event loop. Disabled by default." ); registerWrapper( viewKeyStruct::timeString(), &m_time ). - setApplyDefaultValue( 0 ). setRestartFlags( RestartFlags::WRITE_AND_READ ). setDescription( "Current simulation time." ); registerWrapper( viewKeyStruct::dtString(), &m_dt ). - setApplyDefaultValue( 0 ). setRestartFlags( RestartFlags::WRITE_AND_READ ). setDescription( "Current simulation timestep." ); registerWrapper( viewKeyStruct::cycleString(), &m_cycle ). - setApplyDefaultValue( 0 ). setRestartFlags( RestartFlags::WRITE_AND_READ ). setDescription( "Current simulation cycle number." ); registerWrapper( viewKeyStruct::currentSubEventString(), &m_currentSubEvent ). - setApplyDefaultValue( 0 ). setRestartFlags( RestartFlags::WRITE_AND_READ ). setDescription( "Index of the current subevent." ); diff --git a/src/coreComponents/events/EventManager.hpp b/src/coreComponents/events/EventManager.hpp index 1a9b7e47af4..09a2b73a45c 100644 --- a/src/coreComponents/events/EventManager.hpp +++ b/src/coreComponents/events/EventManager.hpp @@ -150,25 +150,25 @@ class EventManager : public dataRepository::Group stdVector< real64 > const & subStepDts ) const; /// Min time for a simulation - real64 m_minTime= 0.0; + real64 m_minTime; /// Max time for a simulation - real64 m_maxTime= 0.0; + real64 m_maxTime; /// Maximum number of cycles for a simulation - integer m_maxCycle= 0; + integer m_maxCycle; /// Simulation timestamp at the beginning of the cycle real64 m_time = 0.0; /// Current timestep request - real64 m_dt = 0; + real64 m_dt; /// Current cycle - integer m_cycle = 0; + integer m_cycle; /// Current subevent index - integer m_currentSubEvent= 0; + integer m_currentSubEvent; /// time output type TimeOutputFormat m_timeOutputFormat; From 3af169ee481cafa62a366492814f15e2fe4fcc96 Mon Sep 17 00:00:00 2001 From: arng40 Date: Thu, 13 Nov 2025 14:18:30 +0100 Subject: [PATCH 05/23] add log ci --- src/coreComponents/mesh/MeshManager.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/coreComponents/mesh/MeshManager.cpp b/src/coreComponents/mesh/MeshManager.cpp index 2a67aa8db22..9381e600f42 100644 --- a/src/coreComponents/mesh/MeshManager.cpp +++ b/src/coreComponents/mesh/MeshManager.cpp @@ -104,6 +104,7 @@ std::unordered_set< string > getMaterialWrapperNames( ElementSubRegionBase const { material.forWrappers( [&]( WrapperBase const & wrapper ) { + std::cout << " getMaterial wrapper " << wrapper.getName() << std::endl; if( wrapper.sizedFromParent() ) { materialWrapperNames.insert( ConstitutiveBase::makeFieldName( material.getName(), wrapper.getName() ) ); @@ -169,12 +170,18 @@ void MeshManager::importFields( MeshGeneratorBase const & generator, stdMap< string, string > const & fieldsMapping, FieldIdentifiers & fieldsToBeSync ) { + std::cout << "-- DEBUG --" << std::endl; + std::cout << " generator " << generator.getName() << std::endl; + std::cout << " region name" << regionName << std::endl; + std::cout << " subregion " << subRegion.getName() << std::endl; std::unordered_set< string > const materialWrapperNames = getMaterialWrapperNames( subRegion ); // Writing properties for( auto const & pair : fieldsMapping ) { string const & meshFieldName = pair.first; string const & geosFieldName = pair.second; + std::cout << " mesh field " << meshFieldName << std::endl; + std::cout << " geos field " << geosFieldName << std::endl; // Find destination if( !subRegion.hasWrapper( geosFieldName ) ) { @@ -190,6 +197,7 @@ void MeshManager::importFields( MeshGeneratorBase const & generator, // we can add the geosFieldName to the list of fields to synchronize fieldsToBeSync.addElementFields( { geosFieldName }, { regionName } ); WrapperBase & wrapper = subRegion.getWrapperBase( geosFieldName ); + std::cout << " wrapperbase " << wrapper.getName() << std::endl; GEOS_LOG_LEVEL_RANK_0_ON_GROUP( logInfo::ImportFields, GEOS_FMT( " {} -> {}", meshFieldName, geosFieldName ), generator ); From 112eef726a1b2d792ecf762bd411b7110cec63a8 Mon Sep 17 00:00:00 2001 From: arng40 Date: Thu, 13 Nov 2025 14:36:57 +0100 Subject: [PATCH 06/23] more log --- src/coreComponents/mesh/MeshManager.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/coreComponents/mesh/MeshManager.cpp b/src/coreComponents/mesh/MeshManager.cpp index 9381e600f42..c0d5fd27d1c 100644 --- a/src/coreComponents/mesh/MeshManager.cpp +++ b/src/coreComponents/mesh/MeshManager.cpp @@ -104,7 +104,7 @@ std::unordered_set< string > getMaterialWrapperNames( ElementSubRegionBase const { material.forWrappers( [&]( WrapperBase const & wrapper ) { - std::cout << " getMaterial wrapper " << wrapper.getName() << std::endl; + std::cout << " getMaterial wrapper " << wrapper.getName() << std::endl; if( wrapper.sizedFromParent() ) { materialWrapperNames.insert( ConstitutiveBase::makeFieldName( material.getName(), wrapper.getName() ) ); @@ -135,6 +135,7 @@ void MeshManager::importFields( DomainPartition & domain ) { GEOS_LOG_RANK_0( GEOS_FMT( " mesh level = {}", meshLevel.getName() ) ); FieldIdentifiers fieldsToBeSync; + std::cout << "-- DEBUG --" << std::endl; meshLevel.getElemManager().forElementSubRegionsComplete< CellElementSubRegion >( [&]( localIndex, localIndex, @@ -142,7 +143,9 @@ void MeshManager::importFields( DomainPartition & domain ) CellElementSubRegion & subRegion ) { GEOS_LOG_RANK_0( GEOS_FMT( " volumic fields on {}/{}", region.getName(), subRegion.getName() ) ); + std::cout << "CellElementSubRegion:" << std::endl; importFields( generator, region.getName(), subRegion, MeshGeneratorBase::Block::VOLUMIC, generator.getVolumicFieldsMapping(), fieldsToBeSync ); + std::cout << "endof CellElementSubRegion loop" << std::endl; } ); meshLevel.getElemManager().forElementSubRegionsComplete< FaceElementSubRegion >( [&]( localIndex, @@ -151,15 +154,21 @@ void MeshManager::importFields( DomainPartition & domain ) FaceElementSubRegion & subRegion ) { GEOS_LOG_RANK_0( GEOS_FMT( " surfaic fields on {}/{}", region.getName(), subRegion.getName() ) ); + std::cout << "FaceElementSubRegion:" << std::endl; importFields( generator, region.getName(), subRegion, MeshGeneratorBase::Block::SURFACIC, generator.getSurfacicFieldsMapping(), fieldsToBeSync ); + std::cout << "endof FaceElementSubRegion loop:" << std::endl; } ); CommunicationTools::getInstance().synchronizeFields( fieldsToBeSync, meshLevel, domain.getNeighbors(), false ); // TODO Validate this. + std::cout << "endof mesh loop:" << std::endl; } ); + std::cout << "endof subgroup loop:" << std::endl; } ); forSubGroups< MeshGeneratorBase >( []( MeshGeneratorBase & generator ) { + std::cout << "MeshGeneratorBase loop:" << std::endl; generator.freeResources(); + std::cout << "endof loop:" << std::endl; } ); } @@ -170,7 +179,7 @@ void MeshManager::importFields( MeshGeneratorBase const & generator, stdMap< string, string > const & fieldsMapping, FieldIdentifiers & fieldsToBeSync ) { - std::cout << "-- DEBUG --" << std::endl; + std::cout << " generator " << generator.getName() << std::endl; std::cout << " region name" << regionName << std::endl; std::cout << " subregion " << subRegion.getName() << std::endl; @@ -197,7 +206,7 @@ void MeshManager::importFields( MeshGeneratorBase const & generator, // we can add the geosFieldName to the list of fields to synchronize fieldsToBeSync.addElementFields( { geosFieldName }, { regionName } ); WrapperBase & wrapper = subRegion.getWrapperBase( geosFieldName ); - std::cout << " wrapperbase " << wrapper.getName() << std::endl; + std::cout << " wrapperbase " << wrapper.getName() << std::endl; GEOS_LOG_LEVEL_RANK_0_ON_GROUP( logInfo::ImportFields, GEOS_FMT( " {} -> {}", meshFieldName, geosFieldName ), generator ); @@ -205,6 +214,7 @@ void MeshManager::importFields( MeshGeneratorBase const & generator, bool const isMaterialField = materialWrapperNames.count( geosFieldName ) > 0 && wrapper.numArrayDims() > 1; generator.importFieldOnArray( block, subRegion.getName(), meshFieldName, isMaterialField, wrapper ); } + std::cout << " end of importfields " << std::endl; } } /* namespace geos */ From 67bad644edd9146803db94cce039723ac8903831 Mon Sep 17 00:00:00 2001 From: arng40 Date: Thu, 13 Nov 2025 14:51:13 +0100 Subject: [PATCH 07/23] log to logPart --- src/coreComponents/common/format/LogPart.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/coreComponents/common/format/LogPart.cpp b/src/coreComponents/common/format/LogPart.cpp index a9ce3c69da6..29d0280bda1 100644 --- a/src/coreComponents/common/format/LogPart.cpp +++ b/src/coreComponents/common/format/LogPart.cpp @@ -205,20 +205,28 @@ void LogPart::begin( std::ostream & os ) void LogPart::end( std::ostream & os ) { + std::cout << "logPart end"<< std::endl; if( !m_enableOutput ) return; + std::cout << "formatDescription"<< std::endl; formatDescriptions( m_endDescription, m_formattedEndDescription ); + std::cout << "formatDescriptions end"<< std::endl; string const line = string( m_width, m_borderCharacter ); if( !m_endDescription.m_names.empty() ) { os << '\n'; + std::cout << "outputDescription"<< std::endl; os << outputDescription( m_formattedEndDescription ); + std::cout << "outputDescription end"<< std::endl; os << line; } + std::cout << "outputTitle"<< std::endl; os << outputTitle( m_formattedEndDescription ); + std::cout << "outputTitle end"<< std::endl; os << line << "\n\n"; + std::cout << "end logPart end"<< std::endl; } } From 44b1c9512f8abc56294f7392398421a97b799d8a Mon Sep 17 00:00:00 2001 From: arng40 Date: Fri, 14 Nov 2025 10:54:34 +0100 Subject: [PATCH 08/23] remove string_view from string utilities& some logs --- src/coreComponents/common/format/LogPart.cpp | 28 +++++------- src/coreComponents/common/format/LogPart.hpp | 4 +- .../common/format/StringUtilities.cpp | 44 +++++++------------ .../common/format/StringUtilities.hpp | 8 ++-- .../common/format/table/TableLayout.cpp | 2 +- .../common/format/table/TableLayout.hpp | 6 +-- src/coreComponents/mesh/MeshManager.cpp | 18 -------- 7 files changed, 36 insertions(+), 74 deletions(-) diff --git a/src/coreComponents/common/format/LogPart.cpp b/src/coreComponents/common/format/LogPart.cpp index 29d0280bda1..585f747dcef 100644 --- a/src/coreComponents/common/format/LogPart.cpp +++ b/src/coreComponents/common/format/LogPart.cpp @@ -35,14 +35,14 @@ LogPart::LogPart( string_view logPartTitle, bool enableOutput ) void LogPart::addDescription( string_view description ) { size_t compareWidth = m_width; - m_startDescription.m_names.push_back( stringutilities::divideLines< string >( compareWidth, description ) ); + m_startDescription.m_names.push_back( stringutilities::divideLines( compareWidth, description ) ); m_startDescription.m_values.push_back( stdVector< string >() ); } void LogPart::addEndDescription( string_view description ) { size_t compareWidth = m_width; - m_endDescription.m_names.push_back( stringutilities::divideLines< string >( compareWidth, description ) ); + m_endDescription.m_names.push_back( stringutilities::divideLines( compareWidth, description ) ); m_endDescription.m_values.push_back( stdVector< string >() ); } @@ -205,28 +205,20 @@ void LogPart::begin( std::ostream & os ) void LogPart::end( std::ostream & os ) { - std::cout << "logPart end"<< std::endl; - if( !m_enableOutput ) + if( !m_enableOutput ) return; - std::cout << "formatDescription"<< std::endl; - formatDescriptions( m_endDescription, m_formattedEndDescription ); - std::cout << "formatDescriptions end"<< std::endl; - + formatDescriptions( m_endDescription, m_formattedEndDescription ); + string const line = string( m_width, m_borderCharacter ); if( !m_endDescription.m_names.empty() ) { os << '\n'; - std::cout << "outputDescription"<< std::endl; - os << outputDescription( m_formattedEndDescription ); - std::cout << "outputDescription end"<< std::endl; - os << line; + os << outputDescription( m_formattedEndDescription ); + os << line; + } + os << outputTitle( m_formattedEndDescription ); + os << line << "\n\n"; } - std::cout << "outputTitle"<< std::endl; - os << outputTitle( m_formattedEndDescription ); - std::cout << "outputTitle end"<< std::endl; - os << line << "\n\n"; - std::cout << "end logPart end"<< std::endl; -} } diff --git a/src/coreComponents/common/format/LogPart.hpp b/src/coreComponents/common/format/LogPart.hpp index d4223c008b0..d5b4e6ace10 100644 --- a/src/coreComponents/common/format/LogPart.hpp +++ b/src/coreComponents/common/format/LogPart.hpp @@ -201,14 +201,14 @@ void LogPart::addDescriptionBySection( Description & description, FormattedDescr "Argument passed cannot be converted to string" ); string const value = GEOS_FMT( "{}", args ); - stdVector< string_view > splitValues = divideLines< string_view >( maxValueSize, value ); + stdVector< string > splitValues = divideLines( maxValueSize, value ); values.insert( values.end(), splitValues.begin(), splitValues.end() ); } (), ...); description.m_values.push_back( values ); size_t lineWidth = 0; - stdVector< string > nameDivided = divideLines< string >( lineWidth, name ); + stdVector< string > nameDivided = divideLines( lineWidth, name ); if( lineWidth == 0 ) lineWidth = name.size(); maxNameSize = std::max( maxNameSize, lineWidth ); diff --git a/src/coreComponents/common/format/StringUtilities.cpp b/src/coreComponents/common/format/StringUtilities.cpp index c498fab1746..5d43ba76f41 100644 --- a/src/coreComponents/common/format/StringUtilities.cpp +++ b/src/coreComponents/common/format/StringUtilities.cpp @@ -148,19 +148,18 @@ template string toMetricPrefixString( unsigned long long int const & ); template string toMetricPrefixString( float const & ); template string toMetricPrefixString( double const & ); -template< typename STRING_T > -stdVector< STRING_T > divideLines( size_t & linesWidth, string_view value ) +stdVector< string > divideLines( size_t & linesWidth, string_view value ) { size_t current = 0; size_t end = value.find( '\n' ); - stdVector< STRING_T > lines; + stdVector< string > lines; linesWidth = 0; // Process each line until no more newlines are found - while( end != STRING_T::npos ) + while( end != string::npos ) { - lines.push_back( STRING_T( value.substr( current, end - current ) ) ); + lines.push_back( string( value.substr( current, end - current ) ) ); current = end + 1; end = value.find( '\n', current ); linesWidth = std::max( linesWidth, lines.back().size() ); @@ -168,42 +167,35 @@ stdVector< STRING_T > divideLines( size_t & linesWidth, string_view value ) // Add the last part if( current <= value.size()) { - lines.push_back( STRING_T( value.substr( current ) ) ); + lines.push_back( string( value.substr( current ) ) ); linesWidth = std::max( linesWidth, lines.back().size() ); } return lines; } -template stdVector< string > divideLines( size_t &, string_view ); -template stdVector< string_view > divideLines( size_t &, string_view ); -template< typename STRING_T > -stdVector< STRING_T > divideLines( string_view value ) +stdVector< string > divideLines( string_view value ) { size_t current = 0; size_t end = value.find( '\n' ); - stdVector< STRING_T > lines; + stdVector< string > lines; // Process each line until no more newlines are found - while( end != STRING_T::npos ) + while( end != string::npos ) { - lines.push_back( STRING_T( value.substr( current, end - current ) ) ); + lines.push_back( string( value.substr( current, end - current ) ) ); current = end + 1; end = value.find( '\n', current ); } // Add the last part if( current <= value.size()) - lines.push_back( STRING_T( value.substr( current ) ) ); + lines.push_back( string( value.substr( current ) ) ); return lines; } -template stdVector< string > divideLines( string_view ); -template stdVector< string_view > divideLines( string_view ); - -template< typename STRING_T > -stdVector< STRING_T > wrapTextToMaxLength( stdVector< STRING_T > const & lines, +stdVector< string > wrapTextToMaxLength( stdVector< string > const & lines, size_t & maxLineLength ) { if( lines.empty()) @@ -211,7 +203,7 @@ stdVector< STRING_T > wrapTextToMaxLength( stdVector< STRING_T > const & lines, size_t effectiveMaxLineLength = 0; - stdVector< STRING_T > formattedLines; + stdVector< string > formattedLines; formattedLines.reserve( lines.size() ); for( const auto & line : lines ) { @@ -222,7 +214,7 @@ stdVector< STRING_T > wrapTextToMaxLength( stdVector< STRING_T > const & lines, // if the remaining part is shorter than maxLineLength if( startPos + maxLineLength >= line.size()) { - formattedLines.push_back( STRING_T( ltrimSpaces( line.substr( startPos )))); + formattedLines.push_back( string( ltrimSpaces( line.substr( startPos )))); effectiveMaxLineLength = std::max( effectiveMaxLineLength, formattedLines.back().size() ); break; } @@ -230,16 +222,16 @@ stdVector< STRING_T > wrapTextToMaxLength( stdVector< STRING_T > const & lines, // find last space occurence before maxLineLength size_t const endPos = startPos + maxLineLength; size_t const spacePos = line.rfind( ' ', endPos ); - if( spacePos != STRING_T::npos && spacePos > startPos ) + if( spacePos != string::npos && spacePos > startPos ) { // cut and push at the last space found - formattedLines.push_back( STRING_T( ltrimSpaces( line.substr( startPos, spacePos - startPos )))); + formattedLines.push_back( string( ltrimSpaces( line.substr( startPos, spacePos - startPos )))); startPos = spacePos + 1; } else { // no space found, cut in the middle of the word with maxLineLength - formattedLines.push_back( STRING_T( ltrimSpaces( line.substr( startPos, maxLineLength )))); + formattedLines.push_back( string( ltrimSpaces( line.substr( startPos, maxLineLength )))); startPos += maxLineLength; } effectiveMaxLineLength = std::max( effectiveMaxLineLength, formattedLines.back().size() ); @@ -249,12 +241,10 @@ stdVector< STRING_T > wrapTextToMaxLength( stdVector< STRING_T > const & lines, maxLineLength = effectiveMaxLineLength; return formattedLines; } -template stdVector< string > wrapTextToMaxLength( stdVector< string > const &, size_t & ); -template stdVector< string_view > wrapTextToMaxLength( stdVector< string_view > const &, size_t & ); string wrapTextToMaxLength( string_view text, size_t maxLineLength ) { - stdVector< string_view > lines = divideLines< string_view >( text ); + stdVector< string > lines = divideLines( text ); lines = wrapTextToMaxLength( lines, maxLineLength ); return join( lines, '\n' ); } diff --git a/src/coreComponents/common/format/StringUtilities.hpp b/src/coreComponents/common/format/StringUtilities.hpp index ea528581a76..19ca26db1ee 100644 --- a/src/coreComponents/common/format/StringUtilities.hpp +++ b/src/coreComponents/common/format/StringUtilities.hpp @@ -251,8 +251,7 @@ string addCommaSeparators( T const & num ); * @tparam STRING_T The type of the string (string or string_view) * @return A vector of STRING_T objects, each containing a single line from the input */ -template< typename STRING_T > -stdVector< STRING_T > divideLines( size_t & linesWidth, string_view value ); +stdVector< string > divideLines( size_t & linesWidth, string_view value ); /** * @brief Format all the lines by detecting spaces and by dividing each lines with maximum length specified. @@ -263,9 +262,8 @@ stdVector< STRING_T > divideLines( size_t & linesWidth, string_view value ); * @tparam STRING_T The type of the string (string or string_view) * @return A vector containing the lines wrapped. */ -template< typename STRING_T > -stdVector< STRING_T > wrapTextToMaxLength( stdVector< STRING_T > const & lines, - size_t & maxLineLength ); +stdVector< string > wrapTextToMaxLength( stdVector< string > const & lines, + size_t & maxLineLength ); /** * @brief Format all the lines by detecting spaces and by dividing each lines with maximum length specified. diff --git a/src/coreComponents/common/format/table/TableLayout.cpp b/src/coreComponents/common/format/table/TableLayout.cpp index 55446491cd2..ec9e2bafbea 100644 --- a/src/coreComponents/common/format/table/TableLayout.cpp +++ b/src/coreComponents/common/format/table/TableLayout.cpp @@ -353,7 +353,7 @@ void PreparedTableLayout::prepareLayoutRecusive( stdVector< TableLayout::Column void TableLayout::CellLayout::prepareLayout( string_view inputText, size_t maxLineWidth ) { - m_lines = stringutilities::divideLines< string_view >( m_cellWidth, inputText ); + m_lines = stringutilities::divideLines( m_cellWidth, inputText ); if( maxLineWidth != noColumnMaxWidth && m_cellWidth > maxLineWidth ) { diff --git a/src/coreComponents/common/format/table/TableLayout.hpp b/src/coreComponents/common/format/table/TableLayout.hpp index b166f65b198..92f3d999aa3 100644 --- a/src/coreComponents/common/format/table/TableLayout.hpp +++ b/src/coreComponents/common/format/table/TableLayout.hpp @@ -121,13 +121,13 @@ class TableLayout /** * @return The view on each cell line. */ - stdVector< string_view > const & getLines() const + stdVector< string > const & getLines() const { return m_lines; } /** * @return The view on each cell line. */ - std::vector< string_view > & getLines() + std::vector< string > & getLines() { return m_lines; } /** @@ -154,7 +154,7 @@ class TableLayout /// The width of the cell, which must be constrained by the content lines length. size_t m_cellWidth; /// vector containing each cell content, separated by lines. - stdVector< string_view > m_lines; + stdVector< string > m_lines; }; /** diff --git a/src/coreComponents/mesh/MeshManager.cpp b/src/coreComponents/mesh/MeshManager.cpp index c0d5fd27d1c..2a67aa8db22 100644 --- a/src/coreComponents/mesh/MeshManager.cpp +++ b/src/coreComponents/mesh/MeshManager.cpp @@ -104,7 +104,6 @@ std::unordered_set< string > getMaterialWrapperNames( ElementSubRegionBase const { material.forWrappers( [&]( WrapperBase const & wrapper ) { - std::cout << " getMaterial wrapper " << wrapper.getName() << std::endl; if( wrapper.sizedFromParent() ) { materialWrapperNames.insert( ConstitutiveBase::makeFieldName( material.getName(), wrapper.getName() ) ); @@ -135,7 +134,6 @@ void MeshManager::importFields( DomainPartition & domain ) { GEOS_LOG_RANK_0( GEOS_FMT( " mesh level = {}", meshLevel.getName() ) ); FieldIdentifiers fieldsToBeSync; - std::cout << "-- DEBUG --" << std::endl; meshLevel.getElemManager().forElementSubRegionsComplete< CellElementSubRegion >( [&]( localIndex, localIndex, @@ -143,9 +141,7 @@ void MeshManager::importFields( DomainPartition & domain ) CellElementSubRegion & subRegion ) { GEOS_LOG_RANK_0( GEOS_FMT( " volumic fields on {}/{}", region.getName(), subRegion.getName() ) ); - std::cout << "CellElementSubRegion:" << std::endl; importFields( generator, region.getName(), subRegion, MeshGeneratorBase::Block::VOLUMIC, generator.getVolumicFieldsMapping(), fieldsToBeSync ); - std::cout << "endof CellElementSubRegion loop" << std::endl; } ); meshLevel.getElemManager().forElementSubRegionsComplete< FaceElementSubRegion >( [&]( localIndex, @@ -154,21 +150,15 @@ void MeshManager::importFields( DomainPartition & domain ) FaceElementSubRegion & subRegion ) { GEOS_LOG_RANK_0( GEOS_FMT( " surfaic fields on {}/{}", region.getName(), subRegion.getName() ) ); - std::cout << "FaceElementSubRegion:" << std::endl; importFields( generator, region.getName(), subRegion, MeshGeneratorBase::Block::SURFACIC, generator.getSurfacicFieldsMapping(), fieldsToBeSync ); - std::cout << "endof FaceElementSubRegion loop:" << std::endl; } ); CommunicationTools::getInstance().synchronizeFields( fieldsToBeSync, meshLevel, domain.getNeighbors(), false ); // TODO Validate this. - std::cout << "endof mesh loop:" << std::endl; } ); - std::cout << "endof subgroup loop:" << std::endl; } ); forSubGroups< MeshGeneratorBase >( []( MeshGeneratorBase & generator ) { - std::cout << "MeshGeneratorBase loop:" << std::endl; generator.freeResources(); - std::cout << "endof loop:" << std::endl; } ); } @@ -179,18 +169,12 @@ void MeshManager::importFields( MeshGeneratorBase const & generator, stdMap< string, string > const & fieldsMapping, FieldIdentifiers & fieldsToBeSync ) { - - std::cout << " generator " << generator.getName() << std::endl; - std::cout << " region name" << regionName << std::endl; - std::cout << " subregion " << subRegion.getName() << std::endl; std::unordered_set< string > const materialWrapperNames = getMaterialWrapperNames( subRegion ); // Writing properties for( auto const & pair : fieldsMapping ) { string const & meshFieldName = pair.first; string const & geosFieldName = pair.second; - std::cout << " mesh field " << meshFieldName << std::endl; - std::cout << " geos field " << geosFieldName << std::endl; // Find destination if( !subRegion.hasWrapper( geosFieldName ) ) { @@ -206,7 +190,6 @@ void MeshManager::importFields( MeshGeneratorBase const & generator, // we can add the geosFieldName to the list of fields to synchronize fieldsToBeSync.addElementFields( { geosFieldName }, { regionName } ); WrapperBase & wrapper = subRegion.getWrapperBase( geosFieldName ); - std::cout << " wrapperbase " << wrapper.getName() << std::endl; GEOS_LOG_LEVEL_RANK_0_ON_GROUP( logInfo::ImportFields, GEOS_FMT( " {} -> {}", meshFieldName, geosFieldName ), generator ); @@ -214,7 +197,6 @@ void MeshManager::importFields( MeshGeneratorBase const & generator, bool const isMaterialField = materialWrapperNames.count( geosFieldName ) > 0 && wrapper.numArrayDims() > 1; generator.importFieldOnArray( block, subRegion.getName(), meshFieldName, isMaterialField, wrapper ); } - std::cout << " end of importfields " << std::endl; } } /* namespace geos */ From a3f151c13c8ce9a0feb1e3520082e917eb8f4424 Mon Sep 17 00:00:00 2001 From: arng40 Date: Fri, 14 Nov 2025 11:01:39 +0100 Subject: [PATCH 09/23] fix --- .../integrationTests/solverStatisticsTests/testSolverStats.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreComponents/integrationTests/solverStatisticsTests/testSolverStats.cpp b/src/coreComponents/integrationTests/solverStatisticsTests/testSolverStats.cpp index 54415a077a5..4ed73131ab8 100644 --- a/src/coreComponents/integrationTests/solverStatisticsTests/testSolverStats.cpp +++ b/src/coreComponents/integrationTests/solverStatisticsTests/testSolverStats.cpp @@ -210,7 +210,7 @@ TEST( testSolverStats, testLog ) GeosxState state( std::make_unique< CommandLineOptions >( g_commandLineOptions ) ); ProblemManager & problem = state.getProblemManager(); std::ostringstream xmlInput; - xmlInput << solverLogOutput << pattern; + xmlInput << solverLogOutput << pattern; problem.parseInputString( xmlInput.str() ); problem.problemSetup(); problem.applyInitialConditions(); From 53fcec0085981e1c10f2bdc96a86624e657d5df4 Mon Sep 17 00:00:00 2001 From: arng40 Date: Fri, 14 Nov 2025 14:00:28 +0100 Subject: [PATCH 10/23] missing string --- src/coreComponents/common/format/StringUtilities.cpp | 4 ++-- src/coreComponents/common/format/StringUtilities.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/coreComponents/common/format/StringUtilities.cpp b/src/coreComponents/common/format/StringUtilities.cpp index 5d43ba76f41..c508b7e98a7 100644 --- a/src/coreComponents/common/format/StringUtilities.cpp +++ b/src/coreComponents/common/format/StringUtilities.cpp @@ -196,7 +196,7 @@ stdVector< string > divideLines( string_view value ) } stdVector< string > wrapTextToMaxLength( stdVector< string > const & lines, - size_t & maxLineLength ) + size_t & maxLineLength ) { if( lines.empty()) return lines; @@ -242,7 +242,7 @@ stdVector< string > wrapTextToMaxLength( stdVector< string > const & lines, return formattedLines; } -string wrapTextToMaxLength( string_view text, size_t maxLineLength ) +string wrapTextToMaxLength( string const & text, size_t maxLineLength ) { stdVector< string > lines = divideLines( text ); lines = wrapTextToMaxLength( lines, maxLineLength ); diff --git a/src/coreComponents/common/format/StringUtilities.hpp b/src/coreComponents/common/format/StringUtilities.hpp index 19ca26db1ee..e5ee949cd30 100644 --- a/src/coreComponents/common/format/StringUtilities.hpp +++ b/src/coreComponents/common/format/StringUtilities.hpp @@ -274,7 +274,7 @@ stdVector< string > wrapTextToMaxLength( stdVector< string > const & lines, * @tparam STRING_T The type of the string (string or string_view) * @return A vector containing the lines wrapped. */ -string wrapTextToMaxLength( string_view text, size_t maxLineLength ); +string wrapTextToMaxLength( string const & text, size_t maxLineLength ); /** * @brief Take a string, and return a array1d with the cast values From 7d81fdcff8453bc68be4d3b5c6569d5c1dc9a79c Mon Sep 17 00:00:00 2001 From: arng40 Date: Fri, 14 Nov 2025 16:31:18 +0100 Subject: [PATCH 11/23] disable logPart --- src/coreComponents/common/format/LogPart.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreComponents/common/format/LogPart.hpp b/src/coreComponents/common/format/LogPart.hpp index d5b4e6ace10..2541467eb63 100644 --- a/src/coreComponents/common/format/LogPart.hpp +++ b/src/coreComponents/common/format/LogPart.hpp @@ -155,7 +155,7 @@ class LogPart /// string used to separate the name/description static constexpr string_view m_delimiter = " : "; /// Active the LogPart output - bool m_enableOutput = true; + bool m_enableOutput = false; /** * @brief Add a description to a specific section (top or bottom) From 80ed7b59697b0cc3275583584468dff42f4c739b Mon Sep 17 00:00:00 2001 From: arng40 Date: Fri, 14 Nov 2025 16:33:21 +0100 Subject: [PATCH 12/23] add quick_exit afterxml gen --- src/coreComponents/schema/schemaUtilities.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/coreComponents/schema/schemaUtilities.cpp b/src/coreComponents/schema/schemaUtilities.cpp index 9d447842c09..676390e96d4 100644 --- a/src/coreComponents/schema/schemaUtilities.cpp +++ b/src/coreComponents/schema/schemaUtilities.cpp @@ -69,6 +69,7 @@ void ConvertDocumentationToSchema( string const & fname, schemaTree.saveFile( fname ); GEOS_LOG_RANK_0( " Done!" ); + std::quick_exit(0); } string getSchemaTypeName( string_view rtTypeName ) From 3921d6c0a3931d6d6a413c3851f19c239c7a1f5c Mon Sep 17 00:00:00 2001 From: arng40 Date: Mon, 17 Nov 2025 10:50:12 +0100 Subject: [PATCH 13/23] REVRET MODIF ON LOGPART + COMPIL --- src/coreComponents/common/format/LogPart.cpp | 20 ++++---- src/coreComponents/common/format/LogPart.hpp | 6 +-- .../common/format/StringUtilities.cpp | 48 +++++++++++-------- .../common/format/StringUtilities.hpp | 10 ++-- .../common/format/table/TableLayout.cpp | 2 +- .../common/format/table/TableLayout.hpp | 6 +-- .../solverStatisticsTests/testSolverStats.cpp | 2 +- src/coreComponents/schema/schemaUtilities.cpp | 1 - 8 files changed, 53 insertions(+), 42 deletions(-) diff --git a/src/coreComponents/common/format/LogPart.cpp b/src/coreComponents/common/format/LogPart.cpp index 585f747dcef..a9ce3c69da6 100644 --- a/src/coreComponents/common/format/LogPart.cpp +++ b/src/coreComponents/common/format/LogPart.cpp @@ -35,14 +35,14 @@ LogPart::LogPart( string_view logPartTitle, bool enableOutput ) void LogPart::addDescription( string_view description ) { size_t compareWidth = m_width; - m_startDescription.m_names.push_back( stringutilities::divideLines( compareWidth, description ) ); + m_startDescription.m_names.push_back( stringutilities::divideLines< string >( compareWidth, description ) ); m_startDescription.m_values.push_back( stdVector< string >() ); } void LogPart::addEndDescription( string_view description ) { size_t compareWidth = m_width; - m_endDescription.m_names.push_back( stringutilities::divideLines( compareWidth, description ) ); + m_endDescription.m_names.push_back( stringutilities::divideLines< string >( compareWidth, description ) ); m_endDescription.m_values.push_back( stdVector< string >() ); } @@ -205,20 +205,20 @@ void LogPart::begin( std::ostream & os ) void LogPart::end( std::ostream & os ) { - if( !m_enableOutput ) + if( !m_enableOutput ) return; - formatDescriptions( m_endDescription, m_formattedEndDescription ); - + formatDescriptions( m_endDescription, m_formattedEndDescription ); + string const line = string( m_width, m_borderCharacter ); if( !m_endDescription.m_names.empty() ) { os << '\n'; - os << outputDescription( m_formattedEndDescription ); - os << line; - } - os << outputTitle( m_formattedEndDescription ); - os << line << "\n\n"; + os << outputDescription( m_formattedEndDescription ); + os << line; } + os << outputTitle( m_formattedEndDescription ); + os << line << "\n\n"; +} } diff --git a/src/coreComponents/common/format/LogPart.hpp b/src/coreComponents/common/format/LogPart.hpp index 2541467eb63..d4223c008b0 100644 --- a/src/coreComponents/common/format/LogPart.hpp +++ b/src/coreComponents/common/format/LogPart.hpp @@ -155,7 +155,7 @@ class LogPart /// string used to separate the name/description static constexpr string_view m_delimiter = " : "; /// Active the LogPart output - bool m_enableOutput = false; + bool m_enableOutput = true; /** * @brief Add a description to a specific section (top or bottom) @@ -201,14 +201,14 @@ void LogPart::addDescriptionBySection( Description & description, FormattedDescr "Argument passed cannot be converted to string" ); string const value = GEOS_FMT( "{}", args ); - stdVector< string > splitValues = divideLines( maxValueSize, value ); + stdVector< string_view > splitValues = divideLines< string_view >( maxValueSize, value ); values.insert( values.end(), splitValues.begin(), splitValues.end() ); } (), ...); description.m_values.push_back( values ); size_t lineWidth = 0; - stdVector< string > nameDivided = divideLines( lineWidth, name ); + stdVector< string > nameDivided = divideLines< string >( lineWidth, name ); if( lineWidth == 0 ) lineWidth = name.size(); maxNameSize = std::max( maxNameSize, lineWidth ); diff --git a/src/coreComponents/common/format/StringUtilities.cpp b/src/coreComponents/common/format/StringUtilities.cpp index c508b7e98a7..c498fab1746 100644 --- a/src/coreComponents/common/format/StringUtilities.cpp +++ b/src/coreComponents/common/format/StringUtilities.cpp @@ -148,18 +148,19 @@ template string toMetricPrefixString( unsigned long long int const & ); template string toMetricPrefixString( float const & ); template string toMetricPrefixString( double const & ); -stdVector< string > divideLines( size_t & linesWidth, string_view value ) +template< typename STRING_T > +stdVector< STRING_T > divideLines( size_t & linesWidth, string_view value ) { size_t current = 0; size_t end = value.find( '\n' ); - stdVector< string > lines; + stdVector< STRING_T > lines; linesWidth = 0; // Process each line until no more newlines are found - while( end != string::npos ) + while( end != STRING_T::npos ) { - lines.push_back( string( value.substr( current, end - current ) ) ); + lines.push_back( STRING_T( value.substr( current, end - current ) ) ); current = end + 1; end = value.find( '\n', current ); linesWidth = std::max( linesWidth, lines.back().size() ); @@ -167,43 +168,50 @@ stdVector< string > divideLines( size_t & linesWidth, string_view value ) // Add the last part if( current <= value.size()) { - lines.push_back( string( value.substr( current ) ) ); + lines.push_back( STRING_T( value.substr( current ) ) ); linesWidth = std::max( linesWidth, lines.back().size() ); } return lines; } +template stdVector< string > divideLines( size_t &, string_view ); +template stdVector< string_view > divideLines( size_t &, string_view ); -stdVector< string > divideLines( string_view value ) +template< typename STRING_T > +stdVector< STRING_T > divideLines( string_view value ) { size_t current = 0; size_t end = value.find( '\n' ); - stdVector< string > lines; + stdVector< STRING_T > lines; // Process each line until no more newlines are found - while( end != string::npos ) + while( end != STRING_T::npos ) { - lines.push_back( string( value.substr( current, end - current ) ) ); + lines.push_back( STRING_T( value.substr( current, end - current ) ) ); current = end + 1; end = value.find( '\n', current ); } // Add the last part if( current <= value.size()) - lines.push_back( string( value.substr( current ) ) ); + lines.push_back( STRING_T( value.substr( current ) ) ); return lines; } +template stdVector< string > divideLines( string_view ); +template stdVector< string_view > divideLines( string_view ); -stdVector< string > wrapTextToMaxLength( stdVector< string > const & lines, - size_t & maxLineLength ) + +template< typename STRING_T > +stdVector< STRING_T > wrapTextToMaxLength( stdVector< STRING_T > const & lines, + size_t & maxLineLength ) { if( lines.empty()) return lines; size_t effectiveMaxLineLength = 0; - stdVector< string > formattedLines; + stdVector< STRING_T > formattedLines; formattedLines.reserve( lines.size() ); for( const auto & line : lines ) { @@ -214,7 +222,7 @@ stdVector< string > wrapTextToMaxLength( stdVector< string > const & lines, // if the remaining part is shorter than maxLineLength if( startPos + maxLineLength >= line.size()) { - formattedLines.push_back( string( ltrimSpaces( line.substr( startPos )))); + formattedLines.push_back( STRING_T( ltrimSpaces( line.substr( startPos )))); effectiveMaxLineLength = std::max( effectiveMaxLineLength, formattedLines.back().size() ); break; } @@ -222,16 +230,16 @@ stdVector< string > wrapTextToMaxLength( stdVector< string > const & lines, // find last space occurence before maxLineLength size_t const endPos = startPos + maxLineLength; size_t const spacePos = line.rfind( ' ', endPos ); - if( spacePos != string::npos && spacePos > startPos ) + if( spacePos != STRING_T::npos && spacePos > startPos ) { // cut and push at the last space found - formattedLines.push_back( string( ltrimSpaces( line.substr( startPos, spacePos - startPos )))); + formattedLines.push_back( STRING_T( ltrimSpaces( line.substr( startPos, spacePos - startPos )))); startPos = spacePos + 1; } else { // no space found, cut in the middle of the word with maxLineLength - formattedLines.push_back( string( ltrimSpaces( line.substr( startPos, maxLineLength )))); + formattedLines.push_back( STRING_T( ltrimSpaces( line.substr( startPos, maxLineLength )))); startPos += maxLineLength; } effectiveMaxLineLength = std::max( effectiveMaxLineLength, formattedLines.back().size() ); @@ -241,10 +249,12 @@ stdVector< string > wrapTextToMaxLength( stdVector< string > const & lines, maxLineLength = effectiveMaxLineLength; return formattedLines; } +template stdVector< string > wrapTextToMaxLength( stdVector< string > const &, size_t & ); +template stdVector< string_view > wrapTextToMaxLength( stdVector< string_view > const &, size_t & ); -string wrapTextToMaxLength( string const & text, size_t maxLineLength ) +string wrapTextToMaxLength( string_view text, size_t maxLineLength ) { - stdVector< string > lines = divideLines( text ); + stdVector< string_view > lines = divideLines< string_view >( text ); lines = wrapTextToMaxLength( lines, maxLineLength ); return join( lines, '\n' ); } diff --git a/src/coreComponents/common/format/StringUtilities.hpp b/src/coreComponents/common/format/StringUtilities.hpp index e5ee949cd30..ea528581a76 100644 --- a/src/coreComponents/common/format/StringUtilities.hpp +++ b/src/coreComponents/common/format/StringUtilities.hpp @@ -251,7 +251,8 @@ string addCommaSeparators( T const & num ); * @tparam STRING_T The type of the string (string or string_view) * @return A vector of STRING_T objects, each containing a single line from the input */ -stdVector< string > divideLines( size_t & linesWidth, string_view value ); +template< typename STRING_T > +stdVector< STRING_T > divideLines( size_t & linesWidth, string_view value ); /** * @brief Format all the lines by detecting spaces and by dividing each lines with maximum length specified. @@ -262,8 +263,9 @@ stdVector< string > divideLines( size_t & linesWidth, string_view value ); * @tparam STRING_T The type of the string (string or string_view) * @return A vector containing the lines wrapped. */ -stdVector< string > wrapTextToMaxLength( stdVector< string > const & lines, - size_t & maxLineLength ); +template< typename STRING_T > +stdVector< STRING_T > wrapTextToMaxLength( stdVector< STRING_T > const & lines, + size_t & maxLineLength ); /** * @brief Format all the lines by detecting spaces and by dividing each lines with maximum length specified. @@ -274,7 +276,7 @@ stdVector< string > wrapTextToMaxLength( stdVector< string > const & lines, * @tparam STRING_T The type of the string (string or string_view) * @return A vector containing the lines wrapped. */ -string wrapTextToMaxLength( string const & text, size_t maxLineLength ); +string wrapTextToMaxLength( string_view text, size_t maxLineLength ); /** * @brief Take a string, and return a array1d with the cast values diff --git a/src/coreComponents/common/format/table/TableLayout.cpp b/src/coreComponents/common/format/table/TableLayout.cpp index ec9e2bafbea..55446491cd2 100644 --- a/src/coreComponents/common/format/table/TableLayout.cpp +++ b/src/coreComponents/common/format/table/TableLayout.cpp @@ -353,7 +353,7 @@ void PreparedTableLayout::prepareLayoutRecusive( stdVector< TableLayout::Column void TableLayout::CellLayout::prepareLayout( string_view inputText, size_t maxLineWidth ) { - m_lines = stringutilities::divideLines( m_cellWidth, inputText ); + m_lines = stringutilities::divideLines< string_view >( m_cellWidth, inputText ); if( maxLineWidth != noColumnMaxWidth && m_cellWidth > maxLineWidth ) { diff --git a/src/coreComponents/common/format/table/TableLayout.hpp b/src/coreComponents/common/format/table/TableLayout.hpp index 92f3d999aa3..b166f65b198 100644 --- a/src/coreComponents/common/format/table/TableLayout.hpp +++ b/src/coreComponents/common/format/table/TableLayout.hpp @@ -121,13 +121,13 @@ class TableLayout /** * @return The view on each cell line. */ - stdVector< string > const & getLines() const + stdVector< string_view > const & getLines() const { return m_lines; } /** * @return The view on each cell line. */ - std::vector< string > & getLines() + std::vector< string_view > & getLines() { return m_lines; } /** @@ -154,7 +154,7 @@ class TableLayout /// The width of the cell, which must be constrained by the content lines length. size_t m_cellWidth; /// vector containing each cell content, separated by lines. - stdVector< string > m_lines; + stdVector< string_view > m_lines; }; /** diff --git a/src/coreComponents/integrationTests/solverStatisticsTests/testSolverStats.cpp b/src/coreComponents/integrationTests/solverStatisticsTests/testSolverStats.cpp index 4ed73131ab8..54415a077a5 100644 --- a/src/coreComponents/integrationTests/solverStatisticsTests/testSolverStats.cpp +++ b/src/coreComponents/integrationTests/solverStatisticsTests/testSolverStats.cpp @@ -210,7 +210,7 @@ TEST( testSolverStats, testLog ) GeosxState state( std::make_unique< CommandLineOptions >( g_commandLineOptions ) ); ProblemManager & problem = state.getProblemManager(); std::ostringstream xmlInput; - xmlInput << solverLogOutput << pattern; + xmlInput << solverLogOutput << pattern; problem.parseInputString( xmlInput.str() ); problem.problemSetup(); problem.applyInitialConditions(); diff --git a/src/coreComponents/schema/schemaUtilities.cpp b/src/coreComponents/schema/schemaUtilities.cpp index 676390e96d4..9d447842c09 100644 --- a/src/coreComponents/schema/schemaUtilities.cpp +++ b/src/coreComponents/schema/schemaUtilities.cpp @@ -69,7 +69,6 @@ void ConvertDocumentationToSchema( string const & fname, schemaTree.saveFile( fname ); GEOS_LOG_RANK_0( " Done!" ); - std::quick_exit(0); } string getSchemaTypeName( string_view rtTypeName ) From 23d9daffe80518d73fb699256ff888e2971cb563 Mon Sep 17 00:00:00 2001 From: arng40 Date: Mon, 17 Nov 2025 10:50:54 +0100 Subject: [PATCH 14/23] attempt to remove double init on Units.hpp --- src/coreComponents/common/Units.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/coreComponents/common/Units.hpp b/src/coreComponents/common/Units.hpp index 4d69236b43f..32adb6e6dc8 100644 --- a/src/coreComponents/common/Units.hpp +++ b/src/coreComponents/common/Units.hpp @@ -275,17 +275,17 @@ static constexpr double YearSeconds = YearDays * DaySeconds; struct TimeFormatInfo { /// Total time (including the decimal part) this instance represents in seconds - double const m_totalSeconds = 0.0; + double const m_totalSeconds; /// Number of integral years to show - int const m_years = 0; + int const m_years; /// Number of integral days to show - int const m_days = 0; + int const m_days; /// Number of integral hours to show - int const m_hours = 0; + int const m_hours; /// Number of integral minutes to show - int const m_minutes = 0; + int const m_minutes; /// Number of integral seconds to show - int const m_seconds = 0; + int const m_seconds; /** * @brief Construct a TimeFormatInfo from raw data (which must be coherent) From 01792be08484265e2fb5eade43316d81ce4caba0 Mon Sep 17 00:00:00 2001 From: MelReyCG Date: Mon, 17 Nov 2025 15:13:56 +0100 Subject: [PATCH 15/23] =?UTF-8?q?=F0=9F=91=B7=20re-enable=20clang15=20targ?= =?UTF-8?q?et=20&=20disable=20other=20targets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci_tests.yml | 232 ++++++++++++++++----------------- 1 file changed, 116 insertions(+), 116 deletions(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 08bdcaa0f9c..33ccbd8bc3d 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -147,72 +147,72 @@ jobs: fail-fast : false matrix: include: - - name: Ubuntu (20.04, gcc 9.4.0, open-mpi 4.0.3) - CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9 - BUILD_SHARED_LIBS: ON - ENABLE_HYPRE: OFF - ENABLE_TRILINOS: ON - GEOS_ENABLE_BOUNDS_CHECK: ON - HOST_CONFIG: /spack-generated.cmake + # - name: Ubuntu (20.04, gcc 9.4.0, open-mpi 4.0.3) + # CMAKE_BUILD_TYPE: Release + # DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9 + # BUILD_SHARED_LIBS: ON + # ENABLE_HYPRE: OFF + # ENABLE_TRILINOS: ON + # GEOS_ENABLE_BOUNDS_CHECK: ON + # HOST_CONFIG: /spack-generated.cmake - - name: Ubuntu debug (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces - CMAKE_BUILD_TYPE: Debug - DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 - BUILD_SHARED_LIBS: ON - ENABLE_HYPRE: OFF - ENABLE_TRILINOS: ON - GEOS_ENABLE_BOUNDS_CHECK: ON - HOST_CONFIG: /spack-generated.cmake + # - name: Ubuntu debug (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces + # CMAKE_BUILD_TYPE: Debug + # DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 + # BUILD_SHARED_LIBS: ON + # ENABLE_HYPRE: OFF + # ENABLE_TRILINOS: ON + # GEOS_ENABLE_BOUNDS_CHECK: ON + # HOST_CONFIG: /spack-generated.cmake - - name: Ubuntu (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces - CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 - BUILD_SHARED_LIBS: ON - ENABLE_HYPRE: OFF - ENABLE_TRILINOS: ON - GEOS_ENABLE_BOUNDS_CHECK: ON - HOST_CONFIG: /spack-generated.cmake + # - name: Ubuntu (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces + # CMAKE_BUILD_TYPE: Release + # DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10 + # BUILD_SHARED_LIBS: ON + # ENABLE_HYPRE: OFF + # ENABLE_TRILINOS: ON + # GEOS_ENABLE_BOUNDS_CHECK: ON + # HOST_CONFIG: /spack-generated.cmake - - name: Ubuntu (22.04, gcc 11.4.0, open-mpi 4.1.2) - CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11 - ENABLE_HYPRE: ON - ENABLE_TRILINOS: OFF - BUILD_SHARED_LIBS: ON - GEOS_ENABLE_BOUNDS_CHECK: OFF - GCP_BUCKET: geosx/ubuntu22.04-gcc11 - HOST_CONFIG: /spack-generated.cmake + # - name: Ubuntu (22.04, gcc 11.4.0, open-mpi 4.1.2) + # CMAKE_BUILD_TYPE: Release + # DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11 + # ENABLE_HYPRE: ON + # ENABLE_TRILINOS: OFF + # BUILD_SHARED_LIBS: ON + # GEOS_ENABLE_BOUNDS_CHECK: OFF + # GCP_BUCKET: geosx/ubuntu22.04-gcc11 + # HOST_CONFIG: /spack-generated.cmake - - name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2) - CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc12 - GCP_BUCKET: geosx/ubuntu22.04-gcc12 - ENABLE_HYPRE: ON - ENABLE_TRILINOS: OFF - BUILD_SHARED_LIBS: ON - GEOS_ENABLE_BOUNDS_CHECK: ON - HOST_CONFIG: /spack-generated.cmake + # - name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2) + # CMAKE_BUILD_TYPE: Release + # DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc12 + # GCP_BUCKET: geosx/ubuntu22.04-gcc12 + # ENABLE_HYPRE: ON + # ENABLE_TRILINOS: OFF + # BUILD_SHARED_LIBS: ON + # GEOS_ENABLE_BOUNDS_CHECK: ON + # HOST_CONFIG: /spack-generated.cmake - - name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2) - NO BOUNDS CHECK + # - name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2) - NO BOUNDS CHECK + # CMAKE_BUILD_TYPE: Release + # DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc12 + # GCP_BUCKET: geosx/ubuntu22.04-gcc12 + # ENABLE_HYPRE: ON + # ENABLE_TRILINOS: OFF + # BUILD_SHARED_LIBS: ON + # GEOS_ENABLE_BOUNDS_CHECK: OFF + # HOST_CONFIG: /spack-generated.cmake + + - name: Ubuntu (22.04, clang 15.0.7, open-mpi 4.1.2) CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc12 - GCP_BUCKET: geosx/ubuntu22.04-gcc12 + DOCKER_REPOSITORY: geosx/ubuntu22.04-clang15 ENABLE_HYPRE: ON ENABLE_TRILINOS: OFF + GEOS_ENABLE_BOUNDS_CHECK: ON BUILD_SHARED_LIBS: ON - GEOS_ENABLE_BOUNDS_CHECK: OFF HOST_CONFIG: /spack-generated.cmake - #- name: Ubuntu (22.04, clang 15.0.7, open-mpi 4.1.2) - # CMAKE_BUILD_TYPE: Release - # DOCKER_REPOSITORY: geosx/ubuntu22.04-clang15 - # ENABLE_HYPRE: ON - # ENABLE_TRILINOS: OFF - # GEOS_ENABLE_BOUNDS_CHECK: ON - # BUILD_SHARED_LIBS: ON - # HOST_CONFIG: /spack-generated.cmake - #- name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10) # CMAKE_BUILD_TYPE: Release # DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-openblas0.3.10-zlib1.2.11 @@ -319,21 +319,21 @@ jobs: fail-fast : false matrix: include: - - name: Ubuntu CUDA debug (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89) - BUILD_AND_TEST_CLI_ARGS: "--build-exe-only --no-install-schema" - CMAKE_BUILD_TYPE: Debug - BUILD_GENERATOR: "--ninja" - DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.8.89 - ENABLE_HYPRE_DEVICE: CUDA - ENABLE_HYPRE: ON - ENABLE_TRILINOS: OFF - GEOS_ENABLE_BOUNDS_CHECK: OFF - RUNS_ON: streak2 - NPROC: 8 - DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" - DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" - DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" - HOST_CONFIG: /spack-generated.cmake + # - name: Ubuntu CUDA debug (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89) + # BUILD_AND_TEST_CLI_ARGS: "--build-exe-only --no-install-schema" + # CMAKE_BUILD_TYPE: Debug + # BUILD_GENERATOR: "--ninja" + # DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.8.89 + # ENABLE_HYPRE_DEVICE: CUDA + # ENABLE_HYPRE: ON + # ENABLE_TRILINOS: OFF + # GEOS_ENABLE_BOUNDS_CHECK: OFF + # RUNS_ON: streak2 + # NPROC: 8 + # DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" + # DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" + # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" + # HOST_CONFIG: /spack-generated.cmake - name: Ubuntu CUDA (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89) BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" @@ -351,54 +351,54 @@ jobs: DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" HOST_CONFIG: /spack-generated.cmake - - name: Rockylinux CUDA (8, clang 17.0.6, cuda 12.9.1) - BUILD_AND_TEST_CLI_ARGS: "--no-install-schema" - CMAKE_BUILD_TYPE: Release - BUILD_GENERATOR: "--ninja" - ENABLE_HYPRE_DEVICE: CUDA - ENABLE_HYPRE: ON - ENABLE_TRILINOS: OFF - GEOS_ENABLE_BOUNDS_CHECK: OFF - DOCKER_REPOSITORY: geosx/rockylinux8-clang17-cuda12.9.1 - RUNS_ON: streak - NPROC: 8 - DOCKER_RUN_ARGS: "--cpus=8 --memory=256g --runtime=nvidia --gpus all -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" - DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" - DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" - HOST_CONFIG: /spack-generated.cmake + # - name: Rockylinux CUDA (8, clang 17.0.6, cuda 12.9.1) + # BUILD_AND_TEST_CLI_ARGS: "--no-install-schema" + # CMAKE_BUILD_TYPE: Release + # BUILD_GENERATOR: "--ninja" + # ENABLE_HYPRE_DEVICE: CUDA + # ENABLE_HYPRE: ON + # ENABLE_TRILINOS: OFF + # GEOS_ENABLE_BOUNDS_CHECK: OFF + # DOCKER_REPOSITORY: geosx/rockylinux8-clang17-cuda12.9.1 + # RUNS_ON: streak + # NPROC: 8 + # DOCKER_RUN_ARGS: "--cpus=8 --memory=256g --runtime=nvidia --gpus all -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" + # DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" + # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" + # HOST_CONFIG: /spack-generated.cmake - - name: Rockylinux CUDA (8, gcc 13.3, cuda 12.9.1) - BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" - CMAKE_BUILD_TYPE: Release - BUILD_GENERATOR: "--ninja" - ENABLE_HYPRE_DEVICE: CUDA - ENABLE_HYPRE: ON - ENABLE_TRILINOS: OFF - GEOS_ENABLE_BOUNDS_CHECK: OFF - DOCKER_REPOSITORY: geosx/rockylinux8-gcc13-cuda12.9.1 - RUNS_ON: streak2 - NPROC: 8 - DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" - DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" - DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" - HOST_CONFIG: /spack-generated.cmake + # - name: Rockylinux CUDA (8, gcc 13.3, cuda 12.9.1) + # BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" + # CMAKE_BUILD_TYPE: Release + # BUILD_GENERATOR: "--ninja" + # ENABLE_HYPRE_DEVICE: CUDA + # ENABLE_HYPRE: ON + # ENABLE_TRILINOS: OFF + # GEOS_ENABLE_BOUNDS_CHECK: OFF + # DOCKER_REPOSITORY: geosx/rockylinux8-gcc13-cuda12.9.1 + # RUNS_ON: streak2 + # NPROC: 8 + # DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" + # DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" + # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" + # HOST_CONFIG: /spack-generated.cmake - - name: Pangea 3 CUDA (AlmaLinux 8.8, gcc 9.4.0, open-mpi 4.1.2, cuda 11.5.0, openblas 0.3.10) - BUILD_AND_TEST_CLI_ARGS: "--build-exe-only --no-install-schema" - CMAKE_BUILD_TYPE: Release - BUILD_GENERATOR: "--makefile" - DOCKER_REPOSITORY: geosx/pangea3-almalinux8-gcc9.4-openmpi4.1.2-cuda11.5.0-openblas0.3.18 - ENABLE_HYPRE_DEVICE: CUDA - ENABLE_HYPRE: ON - ENABLE_TRILINOS: OFF - GEOS_ENABLE_BOUNDS_CHECK: OFF - HOST_ARCH: ppc64le - RUNS_ON: streak2 - NPROC: 8 - DOCKER_RUN_ARGS: "--cpus=8 --memory=128g -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" - DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" - DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" - HOST_CONFIG: /spack-generated-wave-solver-only.cmake + # - name: Pangea 3 CUDA (AlmaLinux 8.8, gcc 9.4.0, open-mpi 4.1.2, cuda 11.5.0, openblas 0.3.10) + # BUILD_AND_TEST_CLI_ARGS: "--build-exe-only --no-install-schema" + # CMAKE_BUILD_TYPE: Release + # BUILD_GENERATOR: "--makefile" + # DOCKER_REPOSITORY: geosx/pangea3-almalinux8-gcc9.4-openmpi4.1.2-cuda11.5.0-openblas0.3.18 + # ENABLE_HYPRE_DEVICE: CUDA + # ENABLE_HYPRE: ON + # ENABLE_TRILINOS: OFF + # GEOS_ENABLE_BOUNDS_CHECK: OFF + # HOST_ARCH: ppc64le + # RUNS_ON: streak2 + # NPROC: 8 + # DOCKER_RUN_ARGS: "--cpus=8 --memory=128g -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" + # DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" + # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" + # HOST_CONFIG: /spack-generated-wave-solver-only.cmake #- name: Sherlock GPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10, cuda 12.4.0,) # BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" From ef48fcbca36e08e62eab2c7dd62d1255579eb0c5 Mon Sep 17 00:00:00 2001 From: arng40 Date: Mon, 17 Nov 2025 16:55:42 +0100 Subject: [PATCH 16/23] disactivate sccache --- .github/workflows/ci_tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 33ccbd8bc3d..0f7a9de1f11 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -212,6 +212,7 @@ jobs: GEOS_ENABLE_BOUNDS_CHECK: ON BUILD_SHARED_LIBS: ON HOST_CONFIG: /spack-generated.cmake + USE_SCCACHE: false #- name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10) # CMAKE_BUILD_TYPE: Release From 5cbc2df2c4c23d862321bfc581b2f7b9826ad801 Mon Sep 17 00:00:00 2001 From: arng40 Date: Tue, 18 Nov 2025 10:46:44 +0100 Subject: [PATCH 17/23] try to run on streak2 --- .github/workflows/ci_tests.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 0f7a9de1f11..3a939276982 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -213,6 +213,14 @@ jobs: BUILD_SHARED_LIBS: ON HOST_CONFIG: /spack-generated.cmake USE_SCCACHE: false + RUNS_ON: streak2 + NPROC: 8 + DOCKER_RUN_ARGS: "--cpus=8 --memory=384g -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" + DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" + DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" + REQUIRED_LABEL: "ci: run integrated tests" + LOCAL_BASELINE_DIR: /data/GEOS/baselines + HOST_CONFIG: /spack-generated.cmake #- name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10) # CMAKE_BUILD_TYPE: Release From acb5461587c24e01111537b6c7dfbc3321dfa22b Mon Sep 17 00:00:00 2001 From: MelReyCG <122801580+MelReyCG@users.noreply.github.com> Date: Tue, 18 Nov 2025 10:57:01 +0100 Subject: [PATCH 18/23] remove constraint for streak2 clang15 run --- .github/workflows/ci_tests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 3a939276982..537a8d17c84 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -270,7 +270,6 @@ jobs: DOCKER_RUN_ARGS: "--cpus=32 --memory=384g -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" - REQUIRED_LABEL: "ci: run integrated tests" LOCAL_BASELINE_DIR: /data/GEOS/baselines HOST_CONFIG: /spack-generated.cmake From b9c491b58dc519402991529305d0bd621f4733ea Mon Sep 17 00:00:00 2001 From: arng40 Date: Tue, 18 Nov 2025 14:02:26 +0100 Subject: [PATCH 19/23] update wrong location label IT --- .github/workflows/ci_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 537a8d17c84..8ccd3a07d9a 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -218,7 +218,6 @@ jobs: DOCKER_RUN_ARGS: "--cpus=8 --memory=384g -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" - REQUIRED_LABEL: "ci: run integrated tests" LOCAL_BASELINE_DIR: /data/GEOS/baselines HOST_CONFIG: /spack-generated.cmake @@ -270,6 +269,7 @@ jobs: DOCKER_RUN_ARGS: "--cpus=32 --memory=384g -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" + REQUIRED_LABEL: "ci: run integrated tests" LOCAL_BASELINE_DIR: /data/GEOS/baselines HOST_CONFIG: /spack-generated.cmake From 4dff94a4af03f546bc252b1637ea2344faf1958b Mon Sep 17 00:00:00 2001 From: MelReyCG <122801580+MelReyCG@users.noreply.github.com> Date: Tue, 18 Nov 2025 14:11:53 +0100 Subject: [PATCH 20/23] ci test --- .github/workflows/ci_tests.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 8ccd3a07d9a..72a3b7e2861 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -209,16 +209,14 @@ jobs: DOCKER_REPOSITORY: geosx/ubuntu22.04-clang15 ENABLE_HYPRE: ON ENABLE_TRILINOS: OFF - GEOS_ENABLE_BOUNDS_CHECK: ON + GEOS_ENABLE_BOUNDS_CHECK: OFF BUILD_SHARED_LIBS: ON - HOST_CONFIG: /spack-generated.cmake USE_SCCACHE: false RUNS_ON: streak2 NPROC: 8 DOCKER_RUN_ARGS: "--cpus=8 --memory=384g -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" - LOCAL_BASELINE_DIR: /data/GEOS/baselines HOST_CONFIG: /spack-generated.cmake #- name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10) From 2875e90ebb4816e4f8ddbfdfac587b351fe9f35d Mon Sep 17 00:00:00 2001 From: arng40 Date: Thu, 20 Nov 2025 16:59:31 +0100 Subject: [PATCH 21/23] try clang17 --- .github/workflows/ci_tests.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 72a3b7e2861..ad7f9e20ad8 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -204,15 +204,14 @@ jobs: # GEOS_ENABLE_BOUNDS_CHECK: OFF # HOST_CONFIG: /spack-generated.cmake - - name: Ubuntu (22.04, clang 15.0.7, open-mpi 4.1.2) + - name: Ubuntu (22.04, clang 17, open-mpi 4.1.2) CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/ubuntu22.04-clang15 + DOCKER_REPOSITORY: geosx/rockylinux8-clang17-cuda12.9.1 ENABLE_HYPRE: ON ENABLE_TRILINOS: OFF GEOS_ENABLE_BOUNDS_CHECK: OFF BUILD_SHARED_LIBS: ON - USE_SCCACHE: false - RUNS_ON: streak2 + RUNS_ON: ubuntu-22.04 NPROC: 8 DOCKER_RUN_ARGS: "--cpus=8 --memory=384g -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" From 7e05f45db46df798eeb3850c3ed2a9d94098fe72 Mon Sep 17 00:00:00 2001 From: arng40 Date: Fri, 21 Nov 2025 11:46:05 +0100 Subject: [PATCH 22/23] try clang19 amd --- .github/workflows/ci_tests.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 72a3b7e2861..80250859d23 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -206,17 +206,13 @@ jobs: - name: Ubuntu (22.04, clang 15.0.7, open-mpi 4.1.2) CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/ubuntu22.04-clang15 + DOCKER_REPOSITORY: geosx/ubuntu24.04-amdclang19.0.0-rocm6.4.3 ENABLE_HYPRE: ON ENABLE_TRILINOS: OFF GEOS_ENABLE_BOUNDS_CHECK: OFF BUILD_SHARED_LIBS: ON USE_SCCACHE: false - RUNS_ON: streak2 - NPROC: 8 - DOCKER_RUN_ARGS: "--cpus=8 --memory=384g -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" - DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" - DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" + RUNS_ON: ubuntu24.04 HOST_CONFIG: /spack-generated.cmake #- name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10) From 137afce12e34d1725ee8b5f73adc82345615ce54 Mon Sep 17 00:00:00 2001 From: arng40 Date: Fri, 21 Nov 2025 12:03:19 +0100 Subject: [PATCH 23/23] test config --- .github/workflows/ci_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index cce916a20b8..8fd4404ef20 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -206,7 +206,7 @@ jobs: - name: Ubuntu (22.04, clang 17, open-mpi 4.1.2) CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/ubuntu24.04-amdclang19.0.0-rocm6.4.3 + DOCKER_REPOSITORY: geosx/ubuntu24.04-amdclang19.0.0-rocm6.4.3:326-878 ENABLE_HYPRE: ON ENABLE_TRILINOS: OFF GEOS_ENABLE_BOUNDS_CHECK: OFF