SST V10.0.0 Release Notes
The changes in v10.0.0 of the Structure Simulation Toolkit (SST) are divided into three areas: general, PDES-core and integrated elements.
General:
- SST v10.0.0 includes several major infrastructure updates including Python3, OpenMPI 4.0.3, and Pin3 support.
- Support for several features deprecated in prior releases is removed; see Migration Guide for details
Deprecation Notice:
- Element PyProto is deprecated and is removed from this release.
- The Scheduler element is deprecated and may be removed in a future release.
SST-Core:
- Added support for Python3
- Generalized statistics model to support custom output formats and visualizations
- Additional Python options for configuring statistics on SubComponents
- Remove backward compatibility paths for features deprecated in SST 9.0 and before
- Fixes known issues with OneShot events; these events are no longer available for Element use
- Support for Pin3 IPC tunnels
- Added ‘–enable-preview-build’ configure switch which disables deprecated features
- Support for adding additional send latency on links
- Added convenience functions for handling fatal errors, including new assert-style conditional fatal function
- Removed leftover references to Boost
SST-Elements:
- Expanded QoS support in Merlin
- Added Pin3 support to Ariel and Prospero. Due to incompatibilities with Pin3, compressed tracing (Prospero), compressed memory allocation tracking (Ariel/MemSieve), and the Ariel/GPGPU-Sim integration require Pin2. All other features are supported with Pin3.
- Improved Merlin Python module, including Python3 support
- Added support for multiple virtual networks in Firefly
- Ariel frontend (i.e., dynamic trace input) is now isolated into sub-component interface for improved customizability
- Removed PyProto element
- Removed Vanadis element
- Scheduler element is deprecated
- Substantial updates to memHierarchy caches and directories to improve model fidelity, enable greater customization, and enhance debugging infrastructure
- Fixes for known bugs in memHierarchy’s NonInclusive MESI coherence protocol
SST-Macro:
- Miscellaneous bug fixes and performance improvements
- Added new contention models for quality-of-service
- Added new network statistics and visualizations
- Improved auto-skeletonizer stability and ease-of-use
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.0.0 (core and elements) has been built and tested with the following OS/compiler combinations.
- CentOS 7.7 with GCC 4.8.5
- 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.5.8 on RHEL 7.3 (Maipo) with GCC 7.3.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)
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:
- 17 Trac: #436 Simple interfaces in the SST Info output
- 138 Need more useful error messages for failed loading of libraries, showErrors should always be true?
- 274 Override Keyword Warnings produced from Event API
- 279 SimpleMem does Not Perform Alignment Checks
- 283 Ability to repeatedly add same value to a statistic in a single call
- 292 Clocks faster than the TimeBase go badly.
- 387 Attaching miranda request generator to BaseCPU slot crashes SST on cleanup
- 388 Can SST run on server which has many nodes?
- 391 Cleanup compiler warnings for Intel/GCC
- 398 Specialized stat outputs for macro
- 400 Dynamic statistic registration
- 407 Compilation Issue for Enabling Event Tracking
- 408 –with-boost/BOOST_CPPFLAGS in sst.conf
- 428 error: Unable to find requested partitioner ‘sst.single’
- 431 sst-info XML output tags subcomponents and modules as components
- 436 checkpoint-restart
- 446 Properly clean up in dlclose
- 449 ExtendedCtor forces derived subcomponents to implement unused ctor
- 450 Warning cleanup: constexpr const
- 452 Ensure that statistics API works with named subcomponents
- 455 Compile for future release configuration flag
- 458 Mark deprecated code with new configure ifdef
- 459 Missing fully qualified namespace in subcomponent macros
- 470 Build system picks up parent shell’s INSTALL value, if set
- 477 addSendLatency for links is missing
- 125 Figure out how to generate python module with new ELI
- 134 distributed service tests crashing in parallel
- 136 autoset CC and CXX from sst-core
- 144 spack package for SST
- 172 Get AMG running with correct communication pattern
- 213 Spyplot
- 230 add support for __thread local variables in sstcc/sst++
- 250 NEEDS_SNPRINTF_DECL not configured correctly for OpenMPI
- 265 need tests for comm_sync_stats
- 271 branch_predict pragma
- 275 null variable use errors should be delayed until end of function
- 276 rename null_variable to null_ptr pragma
- 281 allow omp parallel pragma to create parallel threads
- 283 relocatable pointers need to check TLS storage specifier
- 324 Update topology section of user manual
- 325 Dragonfly UGAL virtual channels
- 336 gcc/clang interactions for C++14
- 347 Clang check in configure script error
- 348 compilation fails with gcc 6.4.0 (MacPorts gcc6 6.4.0_1)
- 353 clang autoskeletonization segfault (clang segfault) with clang 7.0.0
- 354 MPI_Comm_create with MPI_THREAD_MULTIPLE has a race on the comm id
- 361 OpenMP configuration regions
- 372 Memoization pragmas: void statements
- 374 Test Spack builds for develop branch/remove old versions
- 377 Memoize pragma on function declarations
- 379 Sprockit thread_safe_new and stack_alloc are not linked to same offset
- 381 sstmac_global_stacksize should be compile-parameter
- 404 memoization needs to be thread-safe
- 406 cross-test all possible versions of gcc with libtooling and sst
- 412 Don’t delete temps if -g debug flag is given
- 417 Hostname allocation needs improvement
- 419 automatically choose names for exe if not given
- 420 Skeleton non-const globals issue
- 434 Implement pthread_getaffinity_np, pthread_setaffinity_np
- 442 Clean up ownership of “confusing” classes
- 451 Add QoS to SCULPIN
- 454 sstcc/sst++ should emit scripts in configure mode
- 469 Missing case in lambda capture src-2-src
- 472 bool type broken with sst-macro compiler wrapper/missing c99 compliance
- 473 pragma sst new failure involving global variable
- 480 Remove LLVM from devel and then master
- 485 S2S Failure with C style arrays in namespaces
- 492 It should be easier to use the compiler wrapper as a compiler wrapper
- 497 sstmac/common/c_params.cc bad pattern
- 503 sst-macro/skeletons/tests/sendrecv Cannot find builder error
- 509 S2S automatic includes should depend on the mode.
- 510 S2S compiler flags optimization flags not propagating.
- 511 S2S needs to support MPI memoization compiles
- 514 Missing libs not caught by configure
- 538 Copyright header breaks clang checks
- 3 Trac: #54 Power modeling with sst?
- 8 Trac: #180 Element Library Information needs to be updated for Element odin
- 9 Trac: #192 Element Library Information needs to be updated for Element vanadis
- 10 Trac: #211 Need test for Vanadis
- 12 Trac: #248 Need WIKI component documentation for VaultSim
- 19 Trac: #304 DMAEngine needs to be update to use new MH commands
- 22 Trac: #345 SST Needs Distributed Page Walker/TLB Component
- 24 Trac: #357 EmberLoad seems to have a 50ns overhead which is not exposed
- 28 Trac: #371 Large abnormal latencies between LLC and DC
- 45 Trac: #465 No nightly test for SystemC
- 74 SST-MacSim is Not Compatible with SST Threaded PDES Core
- 414 Ariel does not Support Pin Tool 3.0
- 548 SST on MacOS Sierra is not working with PIN
- 680 Merlin Topologies
- 681 Is there any ways to get some performance matrices like CPI(cycle per instruction) from Statistic API when running executable on Ariel ?
- 687 Workaround for Pin 3.2 and ubuntu 16.04, gcc 5.4.0
- 710 Motifs run on single node and single rank crash
- 759 Ariel gives “Error: Ariel did not understand command” while executing a bash script
- 782 Is it possible to use firefly and merlin only?
- 789 Ariel will not compile on High Sierra
- 806 No documentation (commandline) on how to run a motif
- 857 The error happens when I use Ariel and Pintool
- 896 Help to Run a motif
- 943 configure doesn’t check that the compiler supports supports static template instantiation
- 975 Difficulty in accessing VaultSimC independent of the sst core.
- 1077 Is it possible to use merlin only?
- 1140 sst link latency between the componets
- 1165 How to use SST arguments inside Ember motif
- 1169 Memory subsystem with Merlin
- 1225 Run 433.milc (SPEC2006), with input data being piped from file
- 1341 Make output arbitration for Merlin hr_router swappable
- 1413 Error while running the multicore.py example included with ariel
- 1415 Motifs & dragonfly non-minimal routing
- 1416 Error in autogen.sh while setting up SST v9.1 with Balar
- 1417 –with-sst-core=corepath can find incorrect sst-core if in $PATH
- 1419 Merlin: Dragonfly_legacy VS Dragonfly VS Dragonfly2