SST V16.0.0 Release Notes


SST V16.0.0 Release Notes

General

Deprecation and Removal Notices

Known Issues

SST-Core

New Features and Enhancements

Notable Bug Fixes

General updates, changes, and cleanup

Testing Framework updates

SST-Elements

SST-Macro

Fixed issues and significant code changes:

SST-Core

1354 Object map navigation in interactive console doesn’t work as expected for some containers

1376 Increase minimum required Python version from 3.6 to 3.9

1384 Enforce minimum Python version of 3.9

1466 remove warning about versions, since it isn’t really that useful and causes a strange Perl warning

1475 Move sst_ser_object() into private SST::Core::Serialization::pvt namespace

1476 Add flag to restore floating point precision for gcc

1477 Fix new/delete mismatches in address sanitizer

1480 SST debugger crashes when trying to print a component with a field that stores a null pointer

1481 Allow null pointers during debugging

1483 Support ObjectMap for std::bitset, std::vector, and std::atomic

1485 Reenable serialization of std::shared_ptr, making std::weak_ptr array serialization contingent on SST_SERIALIZE_WEAK_PTR_ARRAY macro

1486 Checkpoint Compatibility Check

1487 Support ObjectMap for std::tuple and std::pair

1488 Support ObjectMap for std::stack, std::queue, std::priority_queue

1489 Support ObjectMap for aggregates

1491 Reorganize ConfigGraph files

1492 Add ObjectMultimapCmp functor to sort ObjectMap entries numerically when possible

1493 Use const and final methods where possible

1495 Add missing #include

1496 Serialize pointers to std::tuple and std::pair, and make std::pair ObjectMap use first and second members

1497 Work around compiler bugs which suggest override when final is used without virtual

1498 Fix distribution so that elements can include configGraph.h

1499 Add ObjectMap support for SharedObject containers

1500 Add #include to places which use typeid()

1501 Clean up serialization mapper to use much less code

1503 Print bool values as true or false instead of 1 or 0

1504 Add ObjectMap support for std::optional and std::variant

1505 Fix for portChecks on nonlocal links

1508 Add ObjectMap support for std::unique_ptr

1509 Support ObjectMap for std::shared_ptr and std::weak_ptr

1510 Throw exceptions for unsupported mapping mode serializations

1513 Remove unnecessary call in Component mapping mode.

1514 Make complex numbers first-class ObjectMapFundamental objects

1515 Add warnings for trivially serializable types which cannot automatically have an ObjectMap created for them

1517 Rebuild ObjectMap at the beginning of every interactive session; add ObjectMap refresh() method

1518 Add clang-tidy script; make the least-impact changes found by clang-tidy

1521 Use =default for trivial constructors and destructors

1522 Use faster string find methods

1524 Use ‘std::scoped_lock’ instead of ‘std::lock_guard’

1525 Avoid unnecessary copies by using references

1526 Remove redundant std::move() calls which have no effect

1530 Pin Python version used in pre-commit GitHub Actions job

1531 Python upgrade causing some sst-core tests to fail on SLES systems

1533 Remove stale code in PyModel

1536 extend test times for tests counting heartbeats

1537 TimeConverter updates

1542 Change LinkId_t to 64-bits and create globally unique Link IDs

1547 Skip test on Rocky 10

1549 Event order update

1552 Add support for paging of output and max line length in interactive mode

1557 Add missing pop() in json parser

1560 Fix the bad MPI return codes

1562 Statistics are not output from restart actions

1564 Update and fix JSON parsing to pass core tests when translated to JSON

1566 Break StatisticId_t dependence on ComponentId_t

1567 Update minimum autoconf version to 2.69

1569 Link id update

1570 Unique link order

1571 Recalculate sync interval after init()

1572 Remote link discovery

1573 Add categorize decorator for controlling when tests run

1574 Disable checkpoint remap tests when MPI is not available.

1576 Rework the levels for verbose printing of execution information.

1577 Switch from Handler2 back to Handler

1579 Remove deprecated functions using TimeConverter* and rework internals to only use TimeConverter

1580 Final cleanup from move TimeConverter* to TimeConverter

1581 Remove deprecated functions and file from serialization

1582 Remove support for CPython < 3.9

1583 Fix Python 3.14 compatibility: segfaults in GC and module loader

1584 addLink calls use "port0" instead of "port"

1586 N2m restart

1587 Centralize profiling output from multiple sources

1588 PerfReporter contains MPI code despite building without MPI

1589 Added SST_MPI_Bcast, SST_MPI_Send, and SST_MPI_Recv to sst_mpi.h.

1590 Profile metadata

1591 Interactive Console for Parallel Debug

1592 Random segfault running test_MessageMesh_restart_smaller_ckpt_restart

1594 Test fixes for rocky and mypy

1595 Remove deprecated functions

1597 Skip test when running multiple ranks and threads

1602 Fix MPI parameter that causes failures in MPI 5.0.10

1603 Change BaseComponent::getSimulationOutput() to be static.

1604 Test framework categorization updates

1605 Update includes and copyrights

1606 header fixes MAC and SLES

1607 Simulation_impl -> Simulation

1608 Fix returning nullptr from function supposed to return std::string

1611 Fix warnings about whitespace in nlohmann_json operator definitions

1613 macOS 26 test fail following PR 1604

1614 Fix warnings in debugConsole when compiling without MPI

1617 Fixes for ThreadSanitizer

1618 Fix copy paste error in rankserial print

1619 Post delay sampling fix for parallel execution

1620 Ser as ptr fix

SST-Elements

1928 rdmaNic compilation error on devel

2561 Add checkpointing to Miranda

2567 MMU: Enable custom cache line sizes

2588 Squash compiler warnings

2592 Carcosa Element

2599 Mercury: major OperatingSystem refactor

2600 Merlin: test_nic parameter name mismatch

2604 MMU: Fix hardcoded line size and general cleanup

2605 Compile a debug and regular version of vanadis libraries.

2606 Mercury: Refactor NIC

2607 Mercury: move sleep methods to skeleton.h

2610 Dragonfly_untimed_broadcast_patch

2611 Ember: push some ESshmem tests off to Nightly

2613 Mercury: remove event library

2615 Seperated sleep calls into skeleton.cc file instead of included in skeleton.h.

2616 added a hybrid-backing mode to membackend backing

2619 Fixed the “listener” subcomponent slot of the Cache component from MemHierarchy

2620 MH.spad Reading issue(or bug?)

2621 MMU error checking and clean up

2625 MemH: Fix race between a scrtchpad shootdown and directory data writeback

2627 Event order update

2628 Update reference files found by nightlies for event order update.

2629 rdmaNic: Fix ref for sst-core ordering change

2632 Carcosa Interface Components

2633 Fixed basic_1node_1smp.py

2634 MemHierarchy TLB in interface

2636 Update testsuites for mask-mpi / Mercury

2637 Add Mercury pthread implementation and C compatibility fixes

2639 Update minimum autoconf version to 2.69

2645 mercury: build/test fixes

2646 Add missing setCpumask/setThreadId definitions and reassignCores virtual dispatch

2649 Handler2 to handler

2650 Remove call to os_simple_command()

2651 Fix dragonfly untimed broadcast_to_groups to work for both absolute and relative global_route_mode

2652 Final move from TimeConverter* to TimeConverter

2653 Switch from testing_check_is_nightly to categorize decorator on test methods

2654 Vanadis: Add missing test files to make-dist

2656 mercury libfabric/sumi and mv2 compatibility fixes

2658 OSCommand is deprecated and being removed

2659 Fixes for removed timeconverter pointer in golem and balar

2660 Add checkpoint for cassini library

2662 More Handler2 to Handler in TLB_Wrapper

2664 Initial experimental support for merlin checkpointing

2667 General compiler warning fixes. Mostly missing overrides and printf specifier mismatches.

2668 updated Carcosa file names/naming to match sst-elements conventions

2669 Fix GCC 15 and Apple Clang 21 compiler warnings

2671 Update copyright dates except carcosa

2672 Copyright updates for carcosa

2674 Fix warnings about whitespace in nlohmann_json operator definitions

2676 Ramulator2 config has been broken

2677 Fix testBackendRamulator2 again

2678 Fix testBackendRamulator2

2679 Update ramulator2 ref file

SST-Macro

732 Replace deprecated PyEval_CallObject call

738 Version and date updates for release

742 Update for upcoming SST 16 Release

745 Update sst-dumpi submodule

748 Release updates

749 Update copyright dates