SST V11.0.0 Release Notes
The changes in v11.0.0 of the Structure Simulation Toolkit (SST) are divided into three areas: general, PDES-core and integrated elements.
General:
- SST v11.0.0 includes a number of bug fixes, performance improvements, and feature updates
- Completed integration of new testing framework
- To enable future improvements in parsing, configuring, and error checking, SST Core is introducing naming conventions for various items that require names. In general, names must now be legal Python variables. These conventions are encouraged in SST v11.0.0 and will be enforced in SST 12.0.0. Warnings will be introduced throughout the SST 11.x releases relating to these conventions. A detailed description of the new naming conventions can be found here.
Deprecation Notice:
- Python 2.x support is deprecated and may be removed in a future release.
- Zoltan support is deprecated and may be removed in a future release.
SST-Core (PDES-Core):
- Updates to statistics API, including ability to create statistics objects in Python
- UnitAlgebra is available in Python
- New global parameter objects can be shared across components, reducing configuration memory footprint
- Various optimizations to improve performance and reduce memory footprint for pre-simulation configuration (e.g., confg graph generation)
- New memory interface (StandardMem) with accelerator/MMIO support and ability to handle custom memory events. This interface is currently experimental and is expected to mature by SST 12 and may ultimately replace SimpleMem.
- Replaced SharedRegions with SharedObjects that include implementations for shared arrays, sets, and maps.
- SharedRegion is deprecated
- Per the naming convention noted above in the General updates, find_prefix_params() is replaced with get_scoped_params() which assumes a ‘.’ separator between the scope and the parameter name
- Continued work to separate public and private APIs in the core. Moved previously-deprecated public functions to core-internal classes. Removed core-internal classes from the installed header files. Marked additional public functions deprecated to prepare for removal in the next major release (SST 12).
- Established new sst-core test suite
- Added const version of getDefaultTimeBase() and related time converter functions
- Added function to let subcomponents query their parent component’s name
- Updated Python APIs with Python 3.9 support
- SimpleMem interface added support for querying cache line size from memory system
- Serializers added for std::unordered_map and std::unordered_set
- Added help documentation for the use of ‘–’ as an alternative to ‘–model-options’ for separating sst and configuration script arguments
- Added verbosity flag to dot output option
- Improved error handling in main simulation loop
- Fixed issue where wrong simulated time was reported in parallel simulations with unconnected ranks (i.e., no link crossing ranks)
- Fixed issue where ‘sst -h’ and ‘sst -V’ incorrectly returned a non-zero exit code
- Fixed issue in Link where setting a callback handler on a polling link did not generate an error
- Fixed issue where connecting two links to the same port did not generate an error
SST-Elements:
- A new generic pipeline processor core model, Vanadis, has been released
- The deprecated Scheduler element has been removed
- New Ember Python module
- Improved Merlin Python module
- Replaced SimpleElementExample with a better set of examples and improved documentation
- DRAMSim3 backend added to memHierarchy
- Balar moved into sst-elements to simplify configuration
- Moved all sst-elements testing to use sst-test-elements infrastructure
- Ember and Firefly bug fixes and enhancements
- Migrated Merlin and Ember python modules to use new global params feature
- Improved Merlin/Ember issues leading to long build times for large graphs
- Added congestion management support in Merlin
- Added ability to simulate failed links in Merlin
- Fixed issue in Ariel where a zombie child process was sometimes left behind
- Fixed bug in memHierarchy where the noninclusive directory coherence protocol did not correctly load a replacement policy
SST-Macro:
- Improvements and bug fixes for source-to-source compiler
- Additions and improvements to skeleton applications
- Improvements and bug fixes for network models
Known Issues (see open issues for repos):
Known incompatibilities:
- PIN
- Ariel Element requires PIN
- Prospero (Pin Feature) requires PIN
- memHierarchy Element (Sieve Feature) requires Ariel
- PIN 2.14
- PIN 2.14 is only supported on gcc 4.9 or earlier.
- SST-11 does support PIN 2.14 on OSX platforms
- PIN 3.17
- Balar will not run on PIN 3.17; it will only support PIN 2.14
- SST-11 does not yet support PIN 3.17 on OSX platforms
- NOTE: PIN 3.18 and higher does not compile correctly on SST.
- Ariel Element (Ivy Bridge Feature) does not run on OSX (NO PIN SUPPORT)
- Ariel Element (Sandy Bridge Feature) does not run on OSX (NO PIN SUPPORT)
- Ariel Element (Sandy Bridge Feature) is not multi-core compliant (Cannot run across multiple MPI ranks)
- Miranda Element (SingleStream Feature) is not multi-core compliant (Cannot run across multiple MPI ranks)
- Miranda Element (RandomGen Feature) is not multi-core compliant (Cannot run across multiple MPI ranks)
- Sirius Element (Zodiac 27 Feature) does not support serialization
- Zoltan 3.83 does not properly build on Ubuntu 18.04 - Zoltan support is deprecated and may be removed in a future release.
- Balar Element does not run on OSX (NO PIN SUPPORT)
Operating System / Compiler Combinations:
Release V11.0.0 (core and elements) has been built and tested with the following OS/compiler combinations.
- CentOS 7.7 with GCC 4.8.5
- CentOS 8.2 with GCC 8.2.1
- SNL RedHat 7.7 with GCC 4.8.5
- RedHat 8 with GCC 8.3.1
- TOSS 3.6-5.ch6 on RHEL 7.3 (Maipo) with GCC 7.1
- Ubuntu 18.04 LTS (64-bit) with GCC v7.3.0
- Ubuntu 20.04 LTS (64-bit) with GCC v9.3.0
- Mac OSX 10.14 (Mojave) with XCode 11.3.1 (LLVM)
- Mac OSX 10.15 (Catalina) with XCode 11.5 (LLVM)
- Mac OSX 11.2 (Big Sur) with XCode 12.4 (Intel)(LLVM)
External Components:
External components and the compatible version numbers are listed below. Other versions may work, but these have been tested with this release.
- Required
- Recommended
- OpenMPI 4.0.5 (SST No longer supports OpenMPI V2)
- Optional
- DRAMSim2 2.2.2
- DRAMsim3 1.0
- NVDimmSim 2.0.0
- HybridSim 2.0.1
- Intel Pin Tool 2.14-71313
- Intel Pin Tool 3.17
- Zoltan 3.83 - Zoltan support is deprecated and may be removed in a future release.
- HDF5 1.10.5 or greater
- Goblin HMC Simulator Version:sst-8.0.0-release
- HBM Dramsim2 Version:hbm-1.0.0-release
- Ramulator SHA 7d2e723
- Nvidia CUDA SDK 8.0.61/9.1.85 (For Balar Component)
Elements not in release:
Although available from the devel and master branches, the following elements are not provided in this release:
Fixed Issues and Significant Code Changes (Pull Requests) in this Release:
- 12 Trac: #389 Adaptation in stats output format
- 15 Trac: #433 SST auto connect to debug on signal?
- 20 Trac: #450 zoltan partitioner and –disable-mpi
- 139 SST-Core should provide man pages
- 280 Time types could map to std::chrono types
- 360 Replace –model-options with Clang method for backend/frontend args
- 383 Errors with Latest Module/Component Changes when using Intel on Cray XC40
- 435 Include paths bug
- 453 stat info loop doesn’t break properly when stat is found?
- 465 Add
configureNonnullLink
function with error checking
- 468 Oneshot implementation is inconsistent
- 530 Multiple links on the same port not an error
- 560 Connected component groups are processed inefficiently during partitioning
- 562 Modify SparseVectorMap so that insert returns a reference to the inserted item
- 564 sst options return non-zero exit
- 573 Permissible use of ComponentExtension?
- 582 Params::contains requires mutable object
- 588 Serialization Exception
- 592 Need improved capabilities for read-only shared data between elements
- 604 HDF5 stats output file
- 610 Can you make getDefaultTimeBase const?
- 619 Invalid MIT-MAGIC-COOKIE-1 key
- 622 addParams
- 1584 Vanadis does not error when loading a dynamically linked executable
- 1607 Ariel executable and argument are unable to get the input file for Benchmark
- 1613 GOBLIN HMCSIM integration does not produce accurate results, Please help.
- 1616 Documentation Bug for Deprecated Components - Incorrect List