SST V15.1.0 Release Notes

General

Deprecation and Removal Notices

Known Issues

SST-Core

New Features and Enhancements

Bug Fixes

General updates, changes, and cleanup

SST-Elements

SST-Macro

Fixed issues and significant code changes:

SST-Core

285 serialization support for shared_ptr, unique_ptr objects

1223 Interactive Console run

1277 SimpleNetwork interface does not provide implementation of Handler2 for serialization

1297 timing info in json format

1308 Add script to check for missing #includes and automatically fix them; run them on the latest sources

1311 Add support for shutdown from interactive console

1325 Provide std::this_thread::yield() as a default definition of sst_pause()

1327 Default TimeVortex doesn’t print its events when a signal is used to trigger a “rt.status.all”

1328 Moved primary component functions into BaseComponent

1329 Add -Wmissing-noreturn and [[noreturn]] to more functions

1330 Add support for general handling of trivially serializable types

1333 core: remove DATE / TIME references from ELI

1334 TimeVortex is no longer serialized during checkpoint/restart

1337 Get rid of GCC false -Wmissing-noreturn warnings; remove unnecessary warning suppression code

1339 Generate JSON timing information at end of simulation

1343 Add serialization of std::valarray

1344 serialize std::variant

1346 Serialize std::optional

1347 std::bitset does not serialize

1348 Serialize std::bitset

1353 Clean up serializer class

1355 Change method for accessing underlying container in priority queue to work around for gcc compiler bug.

1356 Rework Config class to be more concise and to allow for copying of option values based on annotations

1357 Fix ref file for hdf5 stat test

1359 Statistic parameter documentation

1360 sst-core does not compile using –disable-mpi configuration option

1361 macos build failures

1362 Checkpoint config object

1364 ComponentExtension test and checkpoint

1365 Serialize aggregate class types

1366 Relax serialize_impl rules to allow polymorphism, make has_serialize_order trait global to the serializer namespace

1368 inline InstantiateBuilderInfo<Base, T>::loaded variable

1369 Rewrite expressions with volatile to avoid C++20 deprecation warnings

1370 Checkpoint global data into single globals file

1375 Various fixes discovered during element library checkpointing

1378 Print diff on failure for tests that generate them

1379 sst_unittest_support.py: Explicitly check for wget availability

1380 Use print macro for SimTime_t

1381 Data race in params.cc

1382 core: add additional locking in params.cc

1383 Remove existing and prevent future trailing whitespace

1385 GitHub Actions: Initial addition of free macOS runners

1387 core: fix bug in tokenize() function

1388 remove reference in pointer type test

1391 Python output fails to correctly instantiate links

1394 Convert array sizes in one place, flagging errors; cleanup packing code

1395 Simplify serialization of std::variant by using std::array with bounds check

1396 Serialize std::unique_ptr

1398 Move initialization of units in UnitAlgebra to main()

1402 Update .git-blame-ignore-revs

1403 pre-commit failing on PRs merging devel into master

1404 Add missing unregisterClock definition in baseComponent

1405 Reorganize code into regions in main()

1407 Commit b8b85a8 Induces Build Failure

1408 Skip hdf5 tests for parallel runs for now

1411 JSON reader currently limited to 32bit JSON file parsing

1412 core: increase timeout for os_command

1414 Expose MPI_Comm_spawn_multiple to elements

1417 Optimize statistics memory and config time

1418 JSON Reader & Writer Rewrite

1421 GitHub Actions: fix location of elements repository

1422 Missing include error on latest sst-core

1423 fix #includes

1424 Configlink memory optimizations

1427 Added the ability to a serial restart of a parallel checkpoint

1429 Remove warnings when MPI is disabled

1430 Cleanup container serialization code

1431 Added new model generator for checkpoint restarts and reorganized code in preparation for repartitioned restarts.

1434 Fix missing #include in core test

1436 Allow std::unique_ptr serialization to interoperate with raw pointer serialization

1437 Made filenames in checkpoint manifest (.sstcpt) relative to location of manifest file, making it easier to relocate the checkpoints for restart.

1438 Update pre-commit versions

1442 Make test-includes.pl script run 10x faster and find more cases of missing #includes, plus print helpful instructions

1443 Remove unused commented code from test framework

1444 Test framework: read generic /etc/os-release

1445 Test framework: deprecate passing bytes to os_awk_print

1446 Compiler error (when building a component) in SST serialization header when using CCE

1447 Work around bug in some compilers which do not expand lambda expressions across parameter packs correctly

1448 Suppress spurious unused variable warnings which are conditionally used in if constexpr

1449 Remove dependence on Perl Memoize module

1450 Allow paths to be specified on the command line for testing missing #includes

1451 Added SST_ELI_IS_CHECKPOINTABLE() macro

1452 Interactive Console Major Update

1453 GitHub Actions-based tests are failing with Python 3.14

1454 GitHub Actions: Pin Python versions for macOS runners

1455 Add statistics to port modules

1456 Remove cmake-format from GitHub actions

1457 adding missing header file to appease test-includes script

1458 Refine test-includes.pl to print more precise error messages about compiler requirements; work with more versions of GCC

1459 Fix missing #includes in interactive debugger

1460 Fix compilation errors due to compiler / libraries bugs by always using workarounds

1461 lib-and-graph-fix

1463 Fixed a couple bugs and a compile warning:

1465 Fix more missing headers

1468 Various release fixes

1470 Fix missing lock_guard in SharedSet::write()

1471 Fixes for TimeVortex

1472 Use SST_SER() and SST_SER_NAME() macros instead of calling sst_ser_object()

SST-Elements

2439 Vanadis examples 2

2493 Developed a new Ariel Frontend that use EP Analytics tools to collect the address stream

2499 Remove existing and prevent future trailing whitespace

2507 Clang 18.1.8 does not compile with Intel PIN 3.31

2510 Allow compiling using Clang on Linux with Intel Pin

2516 Fix scanf() format mismatch; move side effects outside of assert()

2518 Ignore *.mem files produced in memH tests

2519 Mercury: fix race condition

2521 Add guards to the declaration of OneShot::Handler in SimpleCarWash

2524 Incorrect dependency for ramulator2 on macOS

2526 install arielapi.h

2527 Mercury: restore multithread tests

2528 Don’t skip test_testme() if threads > 1

2531 Mercury: overhaul library/app loading and eliminate direct dlopen usage

2535 Issue-fix: Updated bytes sent metric in Ember spyplot

2536 Update SimpleSimulation example

2537 Fix so golem test does not need sst-info in PATH

2539 fix format specifier to remove warning

2540 MemH checkpoint and code clean up

2544 Remove LLVM build requirement from llyr

2546 mercury: add support for app arguments

2547 mercury: add “argv” to pymercury params

2548 small logic fix found during mi300 debugging

2550 mask-mpi: pass parameters to halo3d

2552 mercury: reduce nodes down to one

2555 Allreduce crashes when count>119

2557 alloc array, fixes segfault

2559 Minor updates

2563 Performance optimizations in MemH and Vanadis

2564 Fix debug builds

2568 Vanadis: Add dummy rseq syscall for newer llvm compilers

2569 Fix empty array and string parameter passing to MemNIC

2572 fixing uniform targetgen in sst-merlin

2573 Vanadis syscalls and cleanup

2578 GitHub Actions: Initial addition of free macOS runners

2579 Compile error on latest sst-core

2580 Miranda: ref update related to stat fix in sst-core

2582 Error in Dragonfly topology init events propagation between groups

2586 Fix null pointer format string passed to Output::fatal()

2587 GitHub Actions: Pin Python versions for macOS runners

2589 MemH: Fix possibly uninitialized stats for checkpoint

2590 Modify mercury installation to support sst-info fix

2591 Update balar CI Infrastructure

2593 rdmaNIC: Fix ref file that was missed in earlier PR

2594 Remove some compiler warnings

2595 Update merlin System object to account for allocation_block_size when filling in extra nodes with EmptyJob.

2596 Fix warnings due to TimeConverter change

SST-Macro

730 Fix bug in torus minimal path computation

734 fix bug in otf2 configuration

735 Fix otf2 env configuration

736 Stop breaking core includes

737 fix otf2 bugs