SST V15.0.0 Release Notes

General

Deprecation and Removal Notices

Known Issues

SST-Core

New Features

Bug Fixes

General updates, changes, and cleanup

SST-Elements

SST-Macro

Fixed issues and significant code changes:

SST-Core

16 Trac: #434 SST Checkpointing no Longer Works

394 Change raw pointers to unique_ptr for static variables in new ELI

808 –enable-perf-tracking –enable-profile crashes

998 OpenMPI 4.1.x does not build with Apple Xcode 15

1049 StdMem cache flush enhancement

1058 External SST::Statistics libraries do not have access to core simulation object

1066 Support for SST::Statistics handlers in JSON input files

1068 Add PortModules to core API

1069 Compilation warnings with default OpenMPI on Ubuntu 22.04

1096 Add support for real-time events and custom signal handlers

1099 Output to File Output Location Causes Segmentation Fault

1118 Flag –enable-perf-tracking causes build to fail

1162 Fixes uninitialized object segfault in debugger

1165 checkpoint-wall-clock not recognizing simple seconds-only format

1168 Header file cleanup for ELI and serialization headers.

1169 Add [[noreturn]] attribute to SST::Output::fatal()

1171 Fix spelling mistake in test framework method

1173 Added the ability to register an alias for an element

1175 Add [[noreturn]] attribute to Output::fatal, add SST_Exit() function

1176 Fix type annotations in sst_unittest_support.py

1179 Remove dead log calls and consolidate logic in PIN support functions

1180 Add CacheFlush instruction to StandardMem interface

1183 sst-info failing component search

1184 Python: update logic between discover_and_run_tests and startup_and_run

1185 Attach Points

1187 Python: add type annotations to testingframework/test_engine.py

1188 Added missing attachInterceptTool() call to SSTHandlerBase

1190 Update for Python 3.13: Add new tp_versions_used field

1191 test_engine_globals.py: add type annotations and update uninitialized variables

1194 test_engine_junit.py: add type annotations

1195 Fix bug in sst-info filtering

1197 sst_unittest.py: add type annotations to run_sst

1198 test_engine_support.py: add type annotations

1201 Added support for PortModules.

1202 Enforce Python type annotations in continuous integration

1203 Import Python Coverage

1208 Optimize statistics memory usage

1210 Handle zero-length string in UnitAlgebra::trim()

1211 Replace MethodDetect<…> with std::void_t<…>

1212 Simplify SST_ELI_COMPILED_VERSION

1213 Combine combineEliInfo() implementations

1216 output-directory option has no effect

1217 Change typedef declarations to modern using aliases

1218 Use C++17 nested namespaces; remove using namespace std

1219 Empty (void) parameter lists

1220 Use _t and _v traits instead of ::type and ::value

1222 Use Meyers singletons

1224 Remove compiler warnings; move all MPI stuff into sst_mpi.h

1225 Add ability to break to interactive console on SIGUSR1/2

1227 Fix missed override in statnull.h

1229 Use std::vector for varying sized buffers

1230 Use std::unique_ptr with modelGen

1231 Allow user to specify seconds-only wall time in either S or Ss format

1233 Use modern techniques to delete copy constructors and assignment operators

1236 Update clang-format to something more modern

1238 adding json stats support

1240 Python command ordering induces I/O error with simulated model outputs

1242 Add more patterns to .gitignore

1244 fix typos

1248 Clean up UNUSED() macro

1251 Reformat long TimeVortex string messages to be split across lines.

1252 Add = delete declarations for copy constructors and copy assignment operators which are not needed

1253 Add “explicit” to constructors with a single parameter which should not perform implicit conversions

1254 Add [[noreturn]] to non-virtual functions which do not return

1255 Use std::make_unique() for variable-length arrays instead of array[N] when N is not constant

1256 Add __attribute__((format(…))) to printf-style functions which take format strings

1257 Add virtual destructors to classes with virtual functions and no declared destructor

1259 Reformat sst-config print_usage() to use one call to fputs()

1260 Inline trivial default constructors and destructors

1261 Add override for virtual functions which are overriden

1262 sst-test-core not running serial jobs

1263 Fix Valgrind memory errors

1264 Output directory fix

1266 Interactive console realtime action

1267 Fix #1262 by specifying intended base class

1269 Add include guard to sst_config.h

1271 Generalize serialize to support more containers in a generalized way, and store mapping name in a stack stored in the serializer

1272 Fixes for HDF5 stat output and test

1275 Checkpointing a simulation that started from a checkpoint induces segmentation fault

1276 Added WatchPoints and enabled them in SimpleDebug

1278 Fix config output

1279 Add necessary header #includes

1280 Updates to checkpointing.

1281 Update GitHub Actions runners to Ubuntu 24.04

1282 Replace incorrect usage of std::is_fundamental with std::is_arithmetic

1283 Fix Checkpoint tests for larger partition counts.

1284 Migrate OSCommand into public API for sst-test

1285 Use .clear() and .reserve() when unpacking containers; handle maps with simple keys which can be converted to string

1286 adding shared stats writing from JSON; Fix for JSON portion of Issue #1240

1290 Add testing_check_is_nightly() function

1291 StandardMem Serialization

1293 Serialize arrays, making the code much simpler and more general

1296 Use in-place serialization of container elements

1298 Finalize serialization API for checkpointing.

1300 Deprecated Handler in favor of Handler2.

1301 Deprecate use of shared TimeConverter* objects

1302 Fix enum warnings and make SerOption tests uniform

1303 Merge pointer and non-pointer serialize_impl adapter implementations

1306 Change name of GlobalParams to SharedParams for clarity.

1307 Tc updates

1309 latest dev branch fails compilation on rocky93/clang17

1310 TimeConverter fix

1312 Update help for –checkpoint-prefix to reflect that checkpoint index now starts at 1 instead of 0

1313 Serialize array bug

1314 Bug fix for timeconverter/basecomponent API

1315 Massage casting to remove warnings on GCC 14

1316 Fix some warnings found in gcc 8.5-14.2

1319 add array serialization tests, fix bugs

1320 Changed help messages to reflect features that are no longer experimental

1321 Bump clang-format requirement from v12 to v20

1322 Update to clang-format v20

SST-Elements

15 Trac: #282 Tests/Verify the LLSC feature from MemHierarchy

1430 memHierarchy: Support for Cache Flush

2368 balar build problem, no libcudart_mod.so

2404 Balar does not compile as written

2405 Vanadis - Refactoring codebase to modularize instruction and LSQ definitions

2410 Mercury: fix packetization

2411 miranda: check request operation instead of using dynamic_cast

2417 FlushAll

2419 Mercury: major code cleanup and debugging improvements

2422 merlin/linkcontrol: fix memory leak on insufficient send credits

2425 Mercury: delay modeling and parameter passing

2427 Remove calls to deprecated Python test framework functions

2430 MemH: Cache flushes and standardize port naming

2432 memH: Clean up unused code and parameters in memHierarchy.Bus

2433 Mercury: parameter clean-up

2436 Add latency tracking to Ariel

2437 Cleanup the build a tiny bit

2438 CUDA Buildsystem Outdated

2441 unittest: replace assertEquals with assertEqual

2442 Added getcpu, sched_yield, setaffinity syscalls to Vanadis. Added OpenMP examples.

2443 memH: Add automatic cache flush at shutdown

2446 Merlin: a typo in topology/pymerlin-topo-mesh.py script

2447 Merlin: fix typo in pymerlin-topo-mesh script

2448 Add RoCC interface to Vanadis

2450 Ember: adds reading global string definitions from OTF2 traces

2454 Fix iterator type mismatches caused by the std::map comparison functor being left out

2455 Add new element, golem

2458 Install libarielapi.so as part of installing sst-elements

2460 In Merlin, use SST:RNG::MersenneRNG instead of bare MersenneRNG

2461 Significantly reduce compiler warnings in SST Elements

2463 checkpoint crash for subcomponent

2464 Subcomponent fix for checkpointing

2467 CUDA cleanup on ariel aisle

2468 Fix warnings / errors with mremap

2470 Mercury: support for multiple tasks per node

2471 fix_balar_build: add check for CUDA and fix compilation warnings

2472 Add include guard to sst_element_config.h

2475 remove unnecessary UNUSED() macros in declarations (not definitions)

2476 Add TLS to Mercury

2477 Fix: set/get Affinity

2478 Add #include to a bunch of headers

2482 Ramulator 2 integration and namespacing of memH Debug macros

2483 Static analysis detected memory allocation issues

2484 Fix use_after_move

2485 Golem fix: check for crosssim library

2486 Initialize sumi return values

2487 Add override to overriden functions to remove Clang warnings

2488 fix misc warnings

2489 memH: Add ability to read memory during init()

2490 Temporarily disable checkpoint test in SimpleElementExample

2491 distclean Inadvertently Removes Files From In-Source Builds

2492 Fix for api and mpi file deletion when building in-source

2495 Add dummy hw_probe syscall for rv64

2496 Change Hg serialization to use serialize_impl instead of serialize.

2497 sst-elements autoconf script has trailing whitespace

2502 Disable long running tests for non-Nightly tests

2503 Update ser& to SER_SST for all elements except memH

2504 Move from using TimeConverter* to TimeConverter

2505 Moved Handler to Handler2.

2506 Update cramSim tests

2508 Add basic serialization to memh

2509 MemH: Checkpoint support for some memH components

2512 Replace Variable Length Arrays with arrays allocated with std::make_unique

2513 Deprecation fixes and compile warnings

2514 Mercury: skip the test_testme() method

SST-Macro

724 Update to llvm 18

726 Updates to serialization to support new serialization APIs in sst-core