SST V10.1.0 Release Notes
The changes in v10.1.0 of the Structure Simulation Toolkit (SST) are divided into three areas: general, PDES-core and integrated elements.
General:
- SST v10.1.0 includes a number of bug fixes, performance improvements, and feature updates
- Initial integration of new testing framework
Deprecation Notice:
- The Scheduler element is deprecated and may be removed in a future release.
SST-Core:
- Reduced partitioning overhead (#557)
- Fixed bug in random number generator UniformDistribution
- Fixed issue where ELI wouldn’t properly load with Intel compilers
- SST::Interfaces::SimpleMem now supports snooping L1 invalidations
- Bug fixes in BaseComponent::fatal() and BaseComponent::sst_assert()
- Improved parsing of parameters using Params::find_array, which will now parse a single item as well as an array.
- Added ability to query whether a SubComponent supports a specific API defined using SST_ELI_REGISTER_SUBCOMPONENT_API or SST_ELI_REGISTER_SUBCOMPONENT_DERIVED_API
- Added UnitAlgebra support for Python input files
- Clean up Python/C++ modules and fix bug when using Python 3.6/3.7
- Initial intrinsic updates to support running on aarch64
- Connecting a port to multiple links now produces a warning and will error in future releases
SST-Elements:
- Ariel can build without Pin present, although no built-in alternative exists yet
- Ariel supports printing its page translation tables
- Fixed incorrect network configuration in Ariel IvyBridge and SandyBridge examples
- Updated CramSim to use SST output/exit capability
- Fixed ELI documentation for Ember FFT3D
- Added new Ember N-to-M motif
- New Ember Python module
- Fix Firefly issue with how queues were handled in the MPI stack
- Fix unblock issue in Firefly with receive buffers
- Fix bug in Firefly scatter
- Added missing port declaration in Firefly
- Fixed bug in MemHierarchy MemoryController where memory size was not being enforced
- Fixed bug in MemHierarchy LLSC where a load miss didn’t always set the atomic flag correctly
- Added summary cache hit/miss statistics to MemHierarchy caches
- In debug mode, the MemHierarchyInterface now performs access alignment checks
- Added support for snooping L1 invalidations through SST::Interfaces::SimpleMem
- MemHierarchy DirectoryController no longer allows multiple accesses to the same line in the same cycle
- Fixed issue in MemHierarchy cache event count statistics that double counted some retried events
- Fix bug in Merlin trafficgen where rank 0 saw a disproportionate amount of traffic
- Merlin topologies can now use different routing algorithms and VC counts for different VNs
- Merlin now includes a new beta Python module which provides enhanced features and configurability
SST-Macro:
- Documentation improvements
- Improved Python3 support
- Network model bug fixes
- Skeletonizing compiler wrapper improvements and bug fixes
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-10 does support PIN 2.14 on OSX platforms
- PIN 3.13
- Balar will not run on PIN 3.13; it will only support PIN 2.14
- SST-10 does not yet support PIN 3.13 on OSX platforms
- Scheduler Element is not multi-core compliant (Cannot run across multiple MPI ranks)
- 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
- Opal Element in SST-Elements is unsupported and may have operational issues
- Balar Element oes not run on OSX (NO PIN SUPPORT)
Operating System / Compiler Combinations:
Release V10.1.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 6.10 with GCC 4.8.2
- 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.13 (High Sierra) with XCode 10.1 (LLVM)
- Mac OSX 10.14 (Mojave) with XCode 11 (LLVM)
- Mac OSX 10.15 (Catalina) with XCode 11 (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.3 (SST No longer supports OpenMPI V2)
- Optional
- DRAMSim2 2.2.2
- NVDimmSim 2.0.0
- HybridSim 2.0.1
- GLPK 4.54 (For Scheduler Component)
- METIS 5.1 (For Scheduler Component)
- Intel Pin Tool 2.14-71313
- Intel Pin Tool 3.13
- Zoltan 3.83
- 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:
- Not applicable in this release
Fixed Issues and Significant Code Changes (Pull Requests) in this Release:
- 525 valid values for timebase
- 538 find_scoped_params
- 539 find_scoped_params
- 544 canceling an event on a self-link
- 545 loadUserSubComponent incompatible with SimpleNetwork interfaces on SST 10.0.0
- 522 Cleanup warnings for 10.1 release
- 562 help with xpressring topology tutorial
- 36 Trac: #418 Tool for analyzing hr_router state dumps
- 37 Trac: #424 Packet size in trafficgen
- 39 Trac: #426 Problem in ExponentialDist
- 40 Trac: #427 Default trafficgen does not support packet sizes > than 1KB
- 44 Trac: #464 VaultSimC Initialization Fails
- 46 Trac: #470 Ariel test failures/time-limits leave behind allocated shared memory Segments.
- 102 Allow finer-grained control over port configuration for hr_router
- 122 Scheduler Component does not work with multi-thread for n>1
- 199 .gitignore contains Makefile - possible problem with ariel stream example
- 217 Simplify FESimple for Ariel
- 232 Miranda should support memory values in request generators
- 266 Dragonfly global link arrangements in merlin
- 294 Ember: random placement of ranks doesn’t scale
- 336 Zoltan test with 8 ranks has a rank with a large imbalance
- 404 Trac: #400 Configure check for PIN should abort if too old of a version is found
- 467 CramSim tests have occasional output problems
- 538 Ember: Sweep3D failing
- 545 Detailed Network test has an additional falure mode in multi-rank
- 578 sst-info documentation for FFT-3D iterations needs update
- 655 EmberSweep encounters occasional time limits
- 674 MemHSieve occasional time limits
- 700 MemHierarchy should not segfault on misaligned loads
- 732 PIN and hence, Ariel, does not work with latest compilers
- 857 The error happens when I use Ariel and Pintool
- 926 Ariel element crashes for sst7.2/sst-master
- 1296 Compile ariel even when Pin is not available
- 1468 [Help Wanted] Merlin, Dragonfly, adaptive-local routing: Is output_credits[ ] get updated?
- 1485 scatter not working for any other root except 0
- 1490 FATAL: l1_cache_1:memlink (MemNICBase) cannot find a destination for address
- 1497 simulator time base access
- 1510 can someone please explain the different “arielmod” : “1” and “0”?
- 1520 Segfault on
- 1521 Issues when sending multiple write and read requests using the simpleMem interface to the memory hierarchy.
- 1527 Cannot get Verbose Output for Ariel Translation Tables during Execution
- 1535 Ariel runstream examples doesn’t print CacheHit/Miss stats