Snndl re - #2721
Open
NJUAIXGY wants to merge 38 commits into
Open
Conversation
Remove unreleased elements
* Use Makefile variables for consistency with PinCRT manual * Print formatting fixes for using Clang with PinCRT * Set most Pin flags inside sst_check_pintool.m4 * Add formatting macros in ariel_print_stack * Add more general minor version dependence for Pin * Consolidate PinCRT compiler flags; some are g++-specific * Fix missing bcmp symbol with clang
- Remove SnnDL from main repository tree - Add SnnDL as submodule pointing to https://github.com/NJUAIXGY/SnnDL.git - Create .gitmodules configuration - Enable independent versioning and development of SnnDL library This change allows: - Independent version control for SnnDL - Easier collaboration on SnnDL development - Clean separation between custom code and official sst-elements 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
… into snndl_re as new template)
added 8 commits
February 14, 2026 00:26
- advance the embedded SnnDL pointer to the archived and refactored runtime\n- leave Ramulator backend experiments and maintenance notes uncommitted
- point the SST elements tree at the gas-free 2D SnnDL runtime - preserve unrelated Ramulator2 backend work for its own change
- update the SnnDL gitlink after ignoring local archive outputs
- advertise both VCs used by mesh dateline transitions - keep port queue allocation consistent with generated route VCs
- advance SnnDL to timed epoch control and native multicast support - preserve the nested component history as the implementation boundary
There was a problem hiding this comment.
Pull request overview
This PR appears to transition the repository toward a new element layout (adding an SnnDL submodule and bumping the project version), while removing several existing elements (Serrano/Opal/Llyr) and updating multiple components (Pin tool build integration, Merlin mesh VC allocation, and memHierarchy backend behavior/diagnostics).
Changes:
- Removes the Serrano, Opal, and Llyr element sources/tests/build files.
- Refactors Pin-based build flags and paths across elements, and adds compiler-vendor-specific Pin compile flags.
- Updates memHierarchy backends (request chunk sizing + additional diagnostics) and Merlin mesh VC counts; adds an admission queue to Ramulator2 backend.
Reviewed changes
Copilot reviewed 84 out of 86 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/sst/elements/serrano/tests/test_serrano.py | Removed Serrano test configuration. |
| src/sst/elements/serrano/tests/graphs/sum.graph | Removed Serrano test graph input. |
| src/sst/elements/serrano/smsg.h | Removed Serrano message type implementation. |
| src/sst/elements/serrano/serstdunit.h | Removed Serrano standard unit implementation. |
| src/sst/elements/serrano/serrano.h | Removed Serrano component header. |
| src/sst/elements/serrano/serrano.cc | Removed Serrano component implementation. |
| src/sst/elements/serrano/serprintunit.h | Removed Serrano printer unit. |
| src/sst/elements/serrano/seriterunit.h | Removed Serrano iterator unit. |
| src/sst/elements/serrano/sercgunit.h | Removed Serrano coarse unit base. |
| src/sst/elements/serrano/scircq.h | Removed Serrano circular queue implementation. |
| src/sst/elements/serrano/Makefile.am | Removed Serrano build integration. |
| src/sst/elements/prospero/tracetool/sstmemtrace.cc | Adds PinCRT/clang macro handling via warnmacros. |
| src/sst/elements/prospero/Makefile.am | Refactors pintool build paths/flags using common variables and new compiler flags. |
| src/sst/elements/opal/tests/app/opal_test.c | Removed Opal test app source. |
| src/sst/elements/opal/tests/app/opal_mlm.c | Removed Opal test app source. |
| src/sst/elements/opal/tests/app/makefile | Removed Opal test app makefile. |
| src/sst/elements/opal/README | Removed Opal README. |
| src/sst/elements/opal/page_fault_handler.h | Removed Opal page fault handler header. |
| src/sst/elements/opal/page_fault_handler.cc | Removed Opal page fault handler implementation. |
| src/sst/elements/opal/opalMemNIC.h | Removed Opal MemNIC header. |
| src/sst/elements/opal/opalMemNIC.cc | Removed Opal MemNIC implementation. |
| src/sst/elements/opal/opal.h | Removed Opal component header. |
| src/sst/elements/opal/opal_event.h | Removed Opal event definition. |
| src/sst/elements/opal/mempool.h | Removed Opal mempool header. |
| src/sst/elements/opal/mempool.cc | Removed Opal mempool implementation. |
| src/sst/elements/opal/Makefile.am | Removed Opal build integration. |
| src/sst/elements/opal/configure.m4 | Removed Opal configure integration. |
| src/sst/elements/opal/arielmemmgr_opal.h | Removed Opal Ariel memory manager header. |
| src/sst/elements/opal/arielmemmgr_opal.cc | Removed Opal Ariel memory manager implementation. |
| src/sst/elements/merlin/topology/mesh.h | Updates mesh VC-per-VN to 2 to match routing VC usage. |
| src/sst/elements/memHierarchy/membackend/simpleMemBackendConvertor.cc | Adds env-controlled diagnostics and adjusts issued request chunk size. |
| src/sst/elements/memHierarchy/membackend/simpleMemBackend.cc | Changes debug logging to verbose diagnostics for issue/complete. |
| src/sst/elements/memHierarchy/membackend/ramulator2Backend.h | Adds admission-queue parameters/state to Ramulator2 backend. |
| src/sst/elements/memHierarchy/membackend/ramulator2Backend.cc | Implements admission queue + budgeted inject per cycle; adds verbose diagnostics. |
| src/sst/elements/llyr/tools/vf3_to_hwr.py | Removed Llyr tool script. |
| src/sst/elements/llyr/tools/spmm_gen.py | Removed Llyr tool script. |
| src/sst/elements/llyr/tools/pyMapper.py | Removed Llyr tool script. |
| src/sst/elements/llyr/tools/graphGen.py | Removed Llyr tool script. |
| src/sst/elements/llyr/tools/graph_gen.py | Removed Llyr tool script. |
| src/sst/elements/llyr/tools/gemm_gen.py | Removed Llyr tool script. |
| src/sst/elements/llyr/tests/testsuite_default_llyr.py | Removed Llyr testsuite integration. |
| src/sst/elements/llyr/tests/llyr_test.py | Removed Llyr test SDL. |
| src/sst/elements/llyr/tests/int-1.mem | Removed Llyr test memory init file. |
| src/sst/elements/llyr/tests/graph_mesh_25.hdw | Removed Llyr test hardware graph file. |
| src/sst/elements/llyr/tests/gemm.in | Removed Llyr test application graph file. |
| src/sst/elements/llyr/pes/storePE.h | Removed Llyr Store PE implementation. |
| src/sst/elements/llyr/pes/peList.h | Removed Llyr PE list header. |
| src/sst/elements/llyr/pes/fpPE.h | Removed Llyr FP PE implementation. |
| src/sst/elements/llyr/pes/dummyPE.h | Removed Llyr Dummy PE implementation. |
| src/sst/elements/llyr/pes/complexPE.h | Removed Llyr Complex PE implementation. |
| src/sst/elements/llyr/parser/parser.h | Removed Llyr parser header. |
| src/sst/elements/llyr/parser/instruction.h | (Referenced) Llyr parser header presence impacted by removals. |
| src/sst/elements/llyr/mappers/simpleMapper.h | Removed Llyr simple mapper implementation. |
| src/sst/elements/llyr/mappers/mapperList.h | Removed Llyr mapper list header. |
| src/sst/elements/llyr/mappers/llyrMapper.h | Removed Llyr mapper base implementation. |
| src/sst/elements/llyr/mappers/csvParser.h | Removed Llyr CSV parser helper. |
| src/sst/elements/llyr/Makefile.am | Removed Llyr build integration. |
| src/sst/elements/llyr/lsQueue.h | Removed Llyr LS queue implementation. |
| src/sst/elements/llyr/llyrTypes.h | Removed Llyr public types. |
| src/sst/elements/llyr/llyr.h | Removed Llyr component header. |
| src/sst/elements/llyr/graph/vertex.h | Removed Llyr graph vertex implementation. |
| src/sst/elements/llyr/graph/graph.h | Removed Llyr graph implementation. |
| src/sst/elements/llyr/graph/edge.h | Removed Llyr graph edge implementation. |
| src/sst/elements/llyr/configure.m4 | Removed Llyr configure integration. |
| src/sst/elements/ariel/Makefile.am | Refactors pintool build flags/paths; uses common PIN_CPPFLAGS* variables. |
| src/sst/elements/ariel/frontend/simple/fesimple.cc | Fixes format specifier for 64-bit allocation size. |
| src/sst/elements/ariel/frontend/pin3/fesimple.cc | Adds PinCRT/clang macro handling and fixes 64-bit format specifier. |
| configure.ac | Bumps package version to 15.0.0. |
| config/sst_check_pintool.m4 | Adds PIN_VERSION_MINOR and centralized PIN_CPPFLAGS/compiler-specific flags. |
| .gitmodules | Adds src/sst/elements/SnnDL submodule definition. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
19
to
+23
| #include "sst/elements/memHierarchy/util.h" | ||
| #include "membackend/simpleMemBackendConvertor.h" | ||
| #include "membackend/memBackend.h" | ||
|
|
||
| namespace { |
Comment on lines
+48
to
+51
| uint32_t remaining = mreq->size() - mreq->processed(); | ||
| uint32_t chunk = remaining < m_backendRequestWidth && remaining > 0 ? remaining : m_backendRequestWidth; | ||
| if (!mreq->isWrite() && chunk == 0) chunk = remaining; | ||
| if (!mreq->isWrite() && logConvReadsEnabled()) { |
Comment on lines
+98
to
+101
| -fno-rtti \ | ||
| -faligned-new \ | ||
| -fpic \ | ||
| -DTARGET_IA32E \ |
Comment on lines
5
to
7
| # Set Version of SST Elements Library | ||
| AC_INIT([SST Elements Library],[-dev],[sst@sandia.gov]) | ||
| AC_INIT([SST Elements Library],[15.0.0],[sst@sandia.gov]) | ||
|
|
Comment on lines
53
to
57
| PIN_VERSION=$($PINTOOL_RUNTIME -version | head -1 | sed 's/.*pin-\(.*\)/\1/' | sed 's/-.*//') | ||
| dnl AC_MSG_CHECKING([pintool version]) | ||
| dnl AC_MSG_RESULT([$PIN_VERSION]) | ||
| PIN_VERSION_MINOR=$(echo $PIN_VERSION | cut -d '.' -f 2) | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Erase this information and put your Pull Request comments here
Instructions for Issuing a Pull Request to sst-elements
1 - Verify that the Pull Request is targeted to the devel branch of sstsimulator/sst-elements
2 - Verify that Source branch is up to date with the devel branch of sst-elements
3 - After submitting your Pull Request:
4 - DO NOT DELETE THE BRANCH (OR FORKED REPO) UNTIL THE PULL REQUEST IS MERGED.