Skip to content

Add support for shutdown from interactive console#1311

Merged
feldergast merged 4 commits intosstsimulator:develfrom
skuntz:ic_shutdown
May 28, 2025
Merged

Add support for shutdown from interactive console#1311
feldergast merged 4 commits intosstsimulator:develfrom
skuntz:ic_shutdown

Conversation

@skuntz
Copy link
Contributor

@skuntz skuntz commented Apr 22, 2025

Experimental - not required for 15.0 release

Add support to interactiveConsole for an interactiveShutdown function that exits the interactive console and does a clean shutdown of the simulation. This is modeled after the signalShutdown function in simulation.cc and tested in the simpleDebug prototype.

Instructions for Issuing a Pull Request to sst-core

1 - Verify that the Pull Request is targeted to the devel branch of sstsimulator/sst-core

2 - Verify that Source branch is up to date with the devel branch of sst-core

3 - After submitting your Pull Request:

  • Automatic Testing will commence in a short while
    • Pull Requests will be tested with the devel branches of the sst-elements and sst-sqe repositories
      • These branches are syncronized with the devel branch of sst-core. This is why is it important to keep your source branch up to date.
    • If testing passes, the SST Core developers will review your changes and merge them or contact you for more information
      • Pull Requests from forks will not be automatically tested until the code is inspected.
      • Pull Requests from forks will not be automatically merged into the devel branch.
    • If testing fails, You will be notified of the test results.
      • The Pull Request will be retested on a regular basis - Changes to the source branch can be made to correct problems

@github-actions github-actions bot added AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) AT: CLANG-FORMAT PASS and removed AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) labels Apr 22, 2025
@github-actions
Copy link

CLANG-FORMAT TEST - PASSED

@github-actions
Copy link

CMAKE-FORMAT TEST - PASSED

@feldergast feldergast added the AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) label Apr 22, 2025
@github-actions
Copy link

CLANG-FORMAT TEST - FAILED (on last commit):
Run > ./scripts/clang-format-test.sh using clang-format v20 to check formatting

@github-actions github-actions bot removed AT: CLANG-FORMAT PASS AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) labels May 12, 2025
@github-actions
Copy link

CMAKE-FORMAT TEST - PASSED

@sst-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
NO INSPECTION HAS BEEN PERFORMED ON THIS PULL REQUEST! - This PR must be inspected by setting label 'AT: PRE-TEST INSPECTED'.

@github-actions github-actions bot added the AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) label May 27, 2025
@github-actions
Copy link

CLANG-FORMAT TEST - FAILED (on last commit):
Run > ./scripts/clang-format-test.sh using clang-format v20 to check formatting

@github-actions github-actions bot removed the AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) label May 27, 2025
@github-actions
Copy link

CMAKE-FORMAT TEST - PASSED

@github-actions github-actions bot added AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) AT: CLANG-FORMAT PASS and removed AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) AT: CLANG-FORMAT FAIL labels May 27, 2025
@github-actions
Copy link

CLANG-FORMAT TEST - PASSED

@github-actions github-actions bot removed the AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) label May 27, 2025
@github-actions
Copy link

CMAKE-FORMAT TEST - PASSED

@sst-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
NO INSPECTION HAS BEEN PERFORMED ON THIS PULL REQUEST! - This PR must be inspected by setting label 'AT: PRE-TEST INSPECTED'.

@github-actions github-actions bot added AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) and removed AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) labels May 28, 2025
@github-actions
Copy link

CLANG-FORMAT TEST - PASSED

@github-actions github-actions bot removed the AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) label May 28, 2025
@github-actions
Copy link

CMAKE-FORMAT TEST - PASSED

@sst-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED by label AT: PRE-TEST INSPECTED! Autotester is Removing Label; this inspection will remain valid until a new commit to source branch is performed.

@sst-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements

  • Build Num: 2071
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MR-2

  • Build Num: 2027
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MT-2

  • Build Num: 2026
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-core_Make-Dist

  • Build Num: 803
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-elements

  • Build Num: 582
  • Status: STARTED

Using Repos:

Repo: CORE (skuntz/sst-core)
  • Branch: ic_shutdown
  • SHA: e7de4dd
  • Mode: TEST_REPO
Repo: SQE (sstsimulator/sst-sqe)
  • Branch: devel
  • SHA: bb4b04da3cbca0dbf36fff9d79593f5f1db96034
  • Mode: SUPPORT_REPO
Repo: ELEMENTS (sstsimulator/sst-elements)
  • Branch: devel
  • SHA: f645bd6e1602aebd8e021810325bd2399acba944
  • Mode: SUPPORT_REPO
Repo: MACRO (sstsimulator/sst-macro)
  • Branch: devel
  • SHA: 31e2c16aa4d07b502bcd9c97b1872a0329ed0b38
  • Mode: SUPPORT_REPO

Pull Request Author: skuntz

@sst-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED

Pull Request Auto Testing has PASSED (click to expand)

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements

  • Build Num: 2071
  • Status: PASSED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MR-2

  • Build Num: 2027
  • Status: PASSED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MT-2

  • Build Num: 2026
  • Status: PASSED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-core_Make-Dist

  • Build Num: 803
  • Status: PASSED

Build Information

Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-elements

  • Build Num: 582
  • Status: PASSED

@sst-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ feldergast ]!

@sst-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Pull Request MUST BE MERGED MANUALLY BY Project Team - This Repo does not support Automerge

@feldergast feldergast merged commit fde5e43 into sstsimulator:devel May 28, 2025
7 checks passed
@skuntz skuntz deleted the ic_shutdown branch September 18, 2025 20:37
kpgriesser pushed a commit to tactcomplabs/sst-core that referenced this pull request Oct 21, 2025
Major Changes:

- config.h, config.cc

  Add support for interactive realtime action, sst.rt.interactive (sstsimulator#1266)
  Add checkpoint-enable flag to enable checkpointing in interactive console.
  Make sst.rt.simpledebug the default for interactive console and only
  use --interactive-console to specify a custom IC
  File replay option ( --replay )

- from_string.h:

  Full precision printing of float types. Scientific notation when value
  is greated than 10**6 or less than 10**-6

- impl/interactive/Makefile.inc

  Included cmdLineEditor files for build

- impl/interactive/cmdLineEditor.h, impl/interactive/cmdLineEditor.cc

  In-line command editing support

- impl/interactive/simpleDebug.h, impl/interactive/simpleDebug.cc

  Shutdown support (sstsimulator#1311)
  Watchpoint support
  Add checkpoint-enabled flag to enable in interactive console.
  Make sst.rtl.simpledebug the default of interactive console.
  Only use --interactive-console to specify custom IC.
  Allow for empty command and other minor whitespace annoyances.
  Console command logging and replay.
  Support commented lines for replay scripts.
  Consolidated commands into a command funtion table.
  Standardized specifying commands, help text, and command groups
  Provided auto-completion support for commands and object names
  Various nullptr checks and fixes to avoid segmentation faults.

- interactiveConsole.h

  Add support for shutdown (sstsimulator#1311)

- serialization/objectMap.cc, serialization/objectMap.h

  Support for trace buffers and watchpoint actions
  Circular buffer and trigger recording
  Add ability to check/sample before and after both clock and event handlers.
  Watchpoint support for adding set var val action.
  Support for trigger comparison between two variables.
  All set string to handle spaces.
  watchpoint verbosity control
  Various bug fixes for command line editing
  Fixes for nullptr checks and address sanitizer issues causing seg faults.

- simulation.cc

  Interactive console realtime action (sstsimulator#1266)
  Addition of checkpoint-enable flag to enable checkpoint in IC.
  Make sst.rt.simpledebug the default for IC
  replay option for IC

- watchPoint.h, watchPoint.cc

  Circular buffer, trigger record.
  Add ability to check/sample before and after both clock and event handlers
  Add watchpoint action class and add set var val action
  Add support for trigger comparison between two variables
  Update watchpoint handling

Allow set string to handle spaces
  Add shutdown as trigger action
  Add watchpoint index to watchpoint class
  Add checkpoint-enable flag to enable checkpointing in interactive console.
  Make sst.rt.simpledebug the default for interactive console.
  Only use --interactive-console to specify a custom IC.
  watchpoint verbosity control
kpgriesser pushed a commit to tactcomplabs/sst-core that referenced this pull request Oct 21, 2025
Major Changes:

- config.h, config.cc

  Add support for interactive realtime action, sst.rt.interactive (sstsimulator#1266)
  Add checkpoint-enable flag to enable checkpointing in interactive console.
  Make sst.rt.simpledebug the default for interactive console and only
  use --interactive-console to specify a custom IC
  File replay option ( --replay )

- from_string.h:

  Full precision printing of float types. Scientific notation when value
  is greated than 10**6 or less than 10**-6

- impl/interactive/Makefile.inc

  Included cmdLineEditor files for build

- impl/interactive/cmdLineEditor.h, impl/interactive/cmdLineEditor.cc

  In-line command editing support

- impl/interactive/simpleDebug.h, impl/interactive/simpleDebug.cc

  Shutdown support (sstsimulator#1311)
  Watchpoint support
  Add checkpoint-enabled flag to enable in interactive console.
  Make sst.rtl.simpledebug the default of interactive console.
  Only use --interactive-console to specify custom IC.
  Allow for empty command and other minor whitespace annoyances.
  Console command logging and replay.
  Support commented lines for replay scripts.
  Consolidated commands into a command funtion table.
  Standardized specifying commands, help text, and command groups
  Provided auto-completion support for commands and object names
  Various nullptr checks and fixes to avoid segmentation faults.

- interactiveConsole.h

  Add support for shutdown (sstsimulator#1311)

- serialization/objectMap.cc, serialization/objectMap.h

  Support for trace buffers and watchpoint actions
  Circular buffer and trigger recording
  Add ability to check/sample before and after both clock and event handlers.
  Watchpoint support for adding set var val action.
  Support for trigger comparison between two variables.
  All set string to handle spaces.
  watchpoint verbosity control
  Various bug fixes for command line editing
  Fixes for nullptr checks and address sanitizer issues causing seg faults.

- simulation.cc

  Interactive console realtime action (sstsimulator#1266)
  Addition of checkpoint-enable flag to enable checkpoint in IC.
  Make sst.rt.simpledebug the default for IC
  replay option for IC

- watchPoint.h, watchPoint.cc

  Circular buffer, trigger record.
  Add ability to check/sample before and after both clock and event handlers
  Add watchpoint action class and add set var val action
  Add support for trigger comparison between two variables
  Update watchpoint handling
  Allow set string to handle spaces
  Add shutdown as trigger action
  Add watchpoint index to watchpoint class
  Add checkpoint-enable flag to enable checkpointing in interactive console.
  Make sst.rt.simpledebug the default for interactive console.
  Only use --interactive-console to specify a custom IC.
  watchpoint verbosity control
kpgriesser pushed a commit to tactcomplabs/sst-core that referenced this pull request Oct 21, 2025
Major Changes:

- config.h, config.cc

  Add support for interactive realtime action, sst.rt.interactive (sstsimulator#1266)
  Add checkpoint-enable flag to enable checkpointing in interactive console.
  Make sst.interactive.simpledebug the default for interactive console and only
  use --interactive-console to specify a custom IC
  File replay option ( --replay )

- from_string.h:

  Full precision printing of float types. Scientific notation when value
  is greated than 10**6 or less than 10**-6

- impl/interactive/Makefile.inc

  Included cmdLineEditor files for build

- impl/interactive/cmdLineEditor.h, impl/interactive/cmdLineEditor.cc

  In-line command editing support

- impl/interactive/simpleDebug.h, impl/interactive/simpleDebug.cc

  Shutdown support (sstsimulator#1311)
  Watchpoint support
  Add checkpoint-enabled flag to enable in interactive console.
  Make sst.rtl.simpledebug the default of interactive console.
  Only use --interactive-console to specify custom IC.
  Allow for empty command and other minor whitespace annoyances.
  Console command logging and replay.
  Support commented lines for replay scripts.
  Consolidated commands into a command funtion table.
  Standardized specifying commands, help text, and command groups
  Provided auto-completion support for commands and object names
  Various nullptr checks and fixes to avoid segmentation faults.

- interactiveConsole.h

  Add support for shutdown (sstsimulator#1311)

- serialization/objectMap.cc, serialization/objectMap.h

  Support for trace buffers and watchpoint actions
  Circular buffer and trigger recording
  Add ability to check/sample before and after both clock and event handlers.
  Watchpoint support for adding set var val action.
  Extended trigger tests functionality: support for logic operators (e.g. v1 < 10 && v2 > 5)  and comparisons between two variables
  Support for trigger comparison between two variables.
  All set string to handle spaces.
  watchpoint verbosity control
  Various bug fixes for command line editing
  Fixes for nullptr checks and address sanitizer issues causing seg faults.

- simulation.cc

  Interactive console realtime action (sstsimulator#1266)
  Addition of checkpoint-enable flag to enable checkpoint in IC.
  Make sst.interactive.simpledebug the default for IC
  replay option for IC

- watchPoint.h, watchPoint.cc

  Circular buffer, trigger record.
  Add ability to check/sample before and after both clock and event handlers
  Add watchpoint action class and add set var val action
  Add support for trigger comparison between two variables
  Update watchpoint handling
  Allow set string to handle spaces
  Add shutdown as trigger action
  Add watchpoint index to watchpoint class
  Add checkpoint-enable flag to enable checkpointing in interactive console.
  Make sst.interactive.simpledebug the default for interactive console.
  Only use --interactive-console to specify a custom IC.
  watchpoint verbosity control
feldergast pushed a commit that referenced this pull request Oct 23, 2025
* Latest TCL code for interactive console.

Major Changes:

- config.h, config.cc

  Add support for interactive realtime action, sst.rt.interactive (#1266)
  Add checkpoint-enable flag to enable checkpointing in interactive console.
  Make sst.interactive.simpledebug the default for interactive console and only
  use --interactive-console to specify a custom IC
  File replay option ( --replay )

- from_string.h:

  Full precision printing of float types. Scientific notation when value
  is greated than 10**6 or less than 10**-6

- impl/interactive/Makefile.inc

  Included cmdLineEditor files for build

- impl/interactive/cmdLineEditor.h, impl/interactive/cmdLineEditor.cc

  In-line command editing support

- impl/interactive/simpleDebug.h, impl/interactive/simpleDebug.cc

  Shutdown support (#1311)
  Watchpoint support
  Add checkpoint-enabled flag to enable in interactive console.
  Make sst.rtl.simpledebug the default of interactive console.
  Only use --interactive-console to specify custom IC.
  Allow for empty command and other minor whitespace annoyances.
  Console command logging and replay.
  Support commented lines for replay scripts.
  Consolidated commands into a command funtion table.
  Standardized specifying commands, help text, and command groups
  Provided auto-completion support for commands and object names
  Various nullptr checks and fixes to avoid segmentation faults.

- interactiveConsole.h

  Add support for shutdown (#1311)

- serialization/objectMap.cc, serialization/objectMap.h

  Support for trace buffers and watchpoint actions
  Circular buffer and trigger recording
  Add ability to check/sample before and after both clock and event handlers.
  Watchpoint support for adding set var val action.
  Extended trigger tests functionality: support for logic operators (e.g. v1 < 10 && v2 > 5)  and comparisons between two variables
  Support for trigger comparison between two variables.
  All set string to handle spaces.
  watchpoint verbosity control
  Various bug fixes for command line editing
  Fixes for nullptr checks and address sanitizer issues causing seg faults.

- simulation.cc

  Interactive console realtime action (#1266)
  Addition of checkpoint-enable flag to enable checkpoint in IC.
  Make sst.interactive.simpledebug the default for IC
  replay option for IC

- watchPoint.h, watchPoint.cc

  Circular buffer, trigger record.
  Add ability to check/sample before and after both clock and event handlers
  Add watchpoint action class and add set var val action
  Add support for trigger comparison between two variables
  Update watchpoint handling
  Allow set string to handle spaces
  Add shutdown as trigger action
  Add watchpoint index to watchpoint class
  Add checkpoint-enable flag to enable checkpointing in interactive console.
  Make sst.interactive.simpledebug the default for interactive console.
  Only use --interactive-console to specify a custom IC.
  watchpoint verbosity control

* comment update

* Added watchPoint.h for disti. Required for use with interactiveConsole.h

---------

Co-authored-by: Kenneth Griesser <kgriesser@tclcomplabs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants