Skip to content

Snndl re - #2721

Open
NJUAIXGY wants to merge 38 commits into
sstsimulator:masterfrom
NJUAIXGY:snndl_re
Open

Snndl re#2721
NJUAIXGY wants to merge 38 commits into
sstsimulator:masterfrom
NJUAIXGY:snndl_re

Conversation

@NJUAIXGY

Copy link
Copy Markdown

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:

  • Automatic Testing will commence in a short while
    • Pull Requests will be tested with the devel branches of the sst-core and sst-sqe repositories
      • These branches are syncronized with the devel branch of sst-elements. This is why is it important to keep your source branch up to date.
    • If testing passes, the source branch will be automatically merged (if possible)
      • Pull Requests from forks will not be automatically tested until the code is inspected.
      • Pull Requests from forks will not be automatically merged into the devel branch.
    • If testing fails, You will be notified of the test results.
      • The Pull Request will be retested on a regular basis - Changes to the source branch can be made to correct problems

4 - DO NOT DELETE THE BRANCH (OR FORKED REPO) UNTIL THE PULL REQUEST IS MERGED.

gvoskuilen and others added 30 commits May 6, 2025 09:45
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>
SnnDL Developer 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
Copilot AI lite review requested due to automatic review settings August 16, 2026 15:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 thread configure.ac
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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants