Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
d50f396
Update configure release version
gvoskuilen May 6, 2025
d713776
Allow compiling using Clang on Linux with Intel Pin (#2510)
berquist May 7, 2025
b86eb21
Convert SnnDL to git submodule
Nov 17, 2025
59e9d94
Update SnnDL submodule: merge snndl_phase2_cleanup into main @ 689917…
Nov 19, 2025
be6a841
chore(submodule): update SnnDL pointer for snndl_re @ 9d502a78d14c
Nov 19, 2025
0018a21
chore(submodule): update SnnDL pointer after step4
Nov 19, 2025
c19492b
chore(submodule): update SnnDL pointer after step5
Nov 19, 2025
4a2c1f4
chore(submodule): update SnnDL pointer after debug infra cleanup
Nov 19, 2025
7d96c7c
chore(submodule): update SnnDL pointer after call_once fix
Nov 19, 2025
871fd98
chore(submodule): update SnnDL pointer after phase3 validation
Nov 19, 2025
8d0cb3e
chore(submodule): bump SnnDL -> eec21846bfc8 (snndl_re_step3_windowmgr)
Nov 19, 2025
dd49e87
chore(submodule): bump SnnDL -> b0c9c5287bb5 (snndl_re_perfmonitor pm…
Nov 19, 2025
2216ef9
chore(submodule): bump SnnDL -> f97c49c (perf-monitor unified CSV mir…
Nov 19, 2025
794312d
chore(submodule): bump SnnDL -> 9dca747 (PM Step4 durations+prepare)
Nov 19, 2025
4b57383
chore(submodule): point SnnDL to 913a485 (revert PM Step4)
Nov 19, 2025
6979e46
chore(submodule): point SnnDL to 3fbfab2 (revert PM Step3 mirror-only)
Nov 19, 2025
09f827a
chore(submodule): point SnnDL to eec2184 (snndl_re Step2/3 stable)
Nov 19, 2025
e28fea6
chore(submodule): bump SnnDL -> 094ed5eead88 (cp4 batch step2-4)
Nov 20, 2025
a506428
chore(submodule): bump SnnDL -> a54c79a5fc21 (cp4 batch merged)
Nov 20, 2025
827d1a4
chore(submodule): bump SnnDL -> a7f1aa3 (debug-cleanup/p1-2)
Nov 21, 2025
fa3e8ee
chore(submodule): bump SnnDL -> fbf9620 (P1-2 complete + P2 step1-2 p…
Nov 21, 2025
581e4fc
chore(submodule): bump SnnDL -> afc3351 (P2 step3 no-getenv)
Nov 21, 2025
f9420a9
chore(submodule): bump SnnDL -> a37dfb8 (P3 verify decoupled from debug)
Nov 21, 2025
73eb874
chore(submodule): bump SnnDL -> 889e94a (P3-b default-disable caches)
Nov 21, 2025
83d19af
chore(submodule): bump SnnDL -> 1a70b2a (revert cache caps)
Nov 21, 2025
1be3eaf
chore(submodule): bump SnnDL -> b29b238 (p3-b io cleanup)
Nov 21, 2025
4374c45
chore(submodule): bump SnnDL -> 1889900 (diagnostic memberization)
Nov 21, 2025
96170b7
chore(submodule): bump SnnDL -> 645cd12 (merge snndl_re_debug_cleanup…
Nov 21, 2025
43e4d87
Update SnnDL submodule
Dec 24, 2025
c6b61a6
chore: update SnnDL submodule checkpoint
Feb 12, 2026
f30efc3
chore(submodule): bump SnnDL to 6948069
Feb 13, 2026
c2dfe80
chore(snndl): bump SnnDL submodule
Jul 31, 2026
7887886
chore(snndl): bump SnnDL submodule
Aug 4, 2026
0336248
chore(snndl): track archive cleanup
Aug 4, 2026
d5f185a
chore(snndl): update v5 P4 submodule pointer
Aug 5, 2026
3fe3d32
feat(memHierarchy): add Ramulator2 admission queue
Aug 5, 2026
e8e2b9e
fix(merlin): expose paired VCs for mesh routing
Aug 16, 2026
5b0b68c
chore(snndl): update SST v5 component pointer
Aug 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "src/sst/elements/SnnDL"]
path = src/sst/elements/SnnDL
url = https://github.com/NJUAIXGY/SnnDL.git
37 changes: 37 additions & 0 deletions config/sst_check_pintool.m4
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ dnl pin.sh is present in pin 2.14, but not in 3.0+
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)

Comment on lines 53 to 57
dnl pin 3.24+ requires different compile line
sst_check_pin_324_ge="yes"
Expand Down Expand Up @@ -81,4 +82,40 @@ dnl pin 3.25+ needs libdwarf instead of lib3dwarf

AS_IF([test "$sst_check_pintool_happy" = "no" -a ! -z "$with_pin" -a "$with_pin" != "no"], [$3])
AS_IF([test "$sst_check_pintool_happy" = "yes"], [$1], [$2])

dnl Common flags
PIN_CPPFLAGS="-g \
-Wall \
-Werror \
-Wno-unknown-pragmas \
-D__PIN__=1 -DPIN_CRT=1 \
-fno-stack-protector \
-fno-exceptions \
-funwind-tables \
-fasynchronous-unwind-tables \
-fomit-frame-pointer \
-fno-strict-aliasing \
-fno-rtti \
-faligned-new \
-fpic \
-DTARGET_IA32E \
Comment on lines +98 to +101
-DHOST_IA32E \
-DTARGET_LINUX \
-DPIN_VERSION_MINOR=$PIN_VERSION_MINOR"
AC_SUBST([PIN_CPPFLAGS])

AC_LANG_PUSH([C++])
AX_COMPILER_VENDOR
AC_LANG_POP([C++])
AS_IF([test "$ax_cv_cxx_compiler_vendor" = "clang"],
[PIN_CPPFLAGS_COMPILER="-D_LIBCPP_DISABLE_AVAILABILITY \
-D_LIBCPP_NO_VCRUNTIME \
-D__BIONIC__ \
-fno-builtin-bcmp \
-Wno-non-c-typedef-for-linkage \
-Wno-microsoft-include \
-Wno-unicode"],
[PIN_CPPFLAGS_COMPILER="-fno-exceptions \
-fabi-version=2"])
AC_SUBST([PIN_CPPFLAGS_COMPILER])
])
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,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 5 to 7
AC_PREREQ([2.59])
AC_COPYRIGHT([Copyright National Technology and Engineering Solutions of Sandia (NTESS), 2004-2025])
Expand Down
1 change: 1 addition & 0 deletions src/sst/elements/SnnDL
Submodule SnnDL added at 539d80
102 changes: 45 additions & 57 deletions src/sst/elements/ariel/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,16 @@ AM_CPPFLAGS += \

if HAVE_SET_PTRACER
AM_CPPFLAGS += "-DHAVE_SET_PTRACER=1"
endif
endif # HAVE_SET_PTRACER

if HAVE_PIN3
AM_CPPFLAGS += $(PINTOOL_CPPFLAGS)
AM_CPPFLAGS += "-DHAVE_PINCRT=1 "
else
if HAVE_PINTOOL
AM_CPPFLAGS += $(PINTOOL_CPPFLAGS)
endif
endif

# Common flags
PIN_CPPFLAGS = -g \
-Wall \
-Werror \
-Wno-unknown-pragmas \
-D__PIN__=1 -DPIN_CRT=1 \
-fno-stack-protector \
-fno-exceptions \
-funwind-tables \
-fasynchronous-unwind-tables \
-fno-rtti \
-DTARGET_IA32E \
-DHOST_IA32E \
-fPIC \
-DTARGET_LINUX
endif # HAVE_PINTOOL
endif # HAVE_PIN3

compdir = $(pkglibdir)
comp_LTLIBRARIES = libariel.la
Expand Down Expand Up @@ -113,14 +97,14 @@ libariel_la_LDFLAGS += $(LIBZ_LDFLAGS)
libariel_la_LIBADD += $(LIBZ_LIB)
AM_CPPFLAGS += $(LIBZ_CPPFLAGS)
libariel_la_SOURCES += arielgzbintracegen.h arielgzbintracegen.cc
endif
endif # USE_LIBZ

if HAVE_PINTOOL
if HAVE_PIN3
libariel_la_SOURCES += frontend/pin3/pin3frontend.h \
frontend/pin3/pin3frontend.cc
endif
endif
endif # HAVE_PIN3
endif # HAVE_PINTOOL

libariel_la_CPPFLAGS = \
-DARIEL_TRACE_LIB=$(libdir)/sst \
Expand All @@ -143,6 +127,10 @@ if !SST_COMPILE_OSX

if HAVE_PINTOOL

TARGET = intel64
BIONIC_ARCH = x86_64
XED_ARCH = intel64

if HAVE_PIN3

all-local : fesimple.so
Expand All @@ -151,95 +139,95 @@ if HAVE_PIN325

fesimple.so : fesimple.o
$(CXX) -shared -Wl,--hash-style=sysv \
$(PINTOOL_DIR)/intel64/runtime/pincrt/crtbeginS.o \
$(PINTOOL_DIR)/$(TARGET)/runtime/pincrt/crtbeginS.o \
-Wl,-Bsymbolic -Wl,--version-script=$(PINTOOL_DIR)/source/include/pin/pintool.ver \
-o fesimple.so fesimple.o \
-L$(PINTOOL_DIR)/intel64/runtime/pincrt \
-L$(PINTOOL_DIR)/intel64/lib \
-L$(PINTOOL_DIR)/intel64/lib-ext \
-L$(PINTOOL_DIR)/extras/xed-intel64/lib -lpin -lxed \
$(PINTOOL_DIR)/intel64/runtime/pincrt/crtendS.o \
-L$(PINTOOL_DIR)/$(TARGET)/runtime/pincrt \
-L$(PINTOOL_DIR)/$(TARGET)/lib \
-L$(PINTOOL_DIR)/$(TARGET)/lib-ext \
-L$(PINTOOL_DIR)/extras/xed-$(XED_ARCH)/lib -lpin -lxed \
$(PINTOOL_DIR)/$(TARGET)/runtime/pincrt/crtendS.o \
-lpindwarf -ldl-dynamic -nostdlib -lc++ -lc++abi -lm-dynamic -lc-dynamic -lunwind-dynamic

fesimple.o : $(top_srcdir)/src/sst/elements/ariel/frontend/pin3/fesimple.cc
$(CXX) \
$(PIN_CPPFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(PIN_CPPFLAGS) $(PIN_CPPFLAGS_COMPILER) $(AM_CPPFLAGS) $(CPPFLAGS) \
-I$(top_srcdir)/src/sst/elements/ariel \
-I$(PINTOOL_DIR)/source/include/pin \
-I$(PINTOOL_DIR)/source/include/pin/gen \
-isystem $(PINTOOL_DIR)/extras/cxx/include \
-isystem $(PINTOOL_DIR)/extras/crt/include \
-isystem $(PINTOOL_DIR)/extras/crt/include/arch-x86_64 \
-isystem $(PINTOOL_DIR)/extras/crt/include/arch-$(BIONIC_ARCH) \
-isystem $(PINTOOL_DIR)/extras/crt/include/kernel/uapi \
-isystem $(PINTOOL_DIR)/extras/crt/include/kernel/uapi/asm-x86 \
-I$(PINTOOL_DIR)/extras/components/include \
-I$(PINTOOL_DIR)/extras/xed-intel64/include/xed \
-I$(PINTOOL_DIR)/extras/xed-$(XED_ARCH)/include/xed \
-I$(PINTOOL_DIR)/source/tools/Utils \
-I$(PINTOOL_DIR)/source/tools/InstLib \
-O3 -fomit-frame-pointer -fno-strict-aliasing -c $(top_srcdir)/src/sst/elements/ariel/frontend/pin3/fesimple.cc
-O3 -c $(top_srcdir)/src/sst/elements/ariel/frontend/pin3/fesimple.cc

else

if HAVE_PIN324
fesimple.so : fesimple.o
$(CXX) -shared -Wl,--hash-style=sysv \
$(PINTOOL_DIR)/intel64/runtime/pincrt/crtbeginS.o \
$(PINTOOL_DIR)/$(TARGET)/runtime/pincrt/crtbeginS.o \
-Wl,-Bsymbolic -Wl,--version-script=$(PINTOOL_DIR)/source/include/pin/pintool.ver \
-o fesimple.so fesimple.o \
-L$(PINTOOL_DIR)/intel64/runtime/pincrt \
-L$(PINTOOL_DIR)/intel64/lib \
-L$(PINTOOL_DIR)/intel64/lib-ext \
-L$(PINTOOL_DIR)/extras/xed-intel64/lib -lpin -lxed \
$(PINTOOL_DIR)/intel64/runtime/pincrt/crtendS.o \
-L$(PINTOOL_DIR)/$(TARGET)/runtime/pincrt \
-L$(PINTOOL_DIR)/$(TARGET)/lib \
-L$(PINTOOL_DIR)/$(TARGET)/lib-ext \
-L$(PINTOOL_DIR)/extras/xed-$(XED_ARCH)/lib -lpin -lxed \
$(PINTOOL_DIR)/$(TARGET)/runtime/pincrt/crtendS.o \
-lpin3dwarf -ldl-dynamic -nostdlib -lc++ -lc++abi -lm-dynamic -lc-dynamic -lunwind-dynamic

fesimple.o : $(top_srcdir)/src/sst/elements/ariel/frontend/pin3/fesimple.cc
$(CXX) \
$(PIN_CPPFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(PIN_CPPFLAGS) $(PIN_CPPFLAGS_COMPILER) $(AM_CPPFLAGS) $(CPPFLAGS) \
-I$(top_srcdir)/src/sst/elements/ariel \
-I$(PINTOOL_DIR)/source/include/pin \
-I$(PINTOOL_DIR)/source/include/pin/gen \
-isystem $(PINTOOL_DIR)/extras/cxx/include \
-isystem $(PINTOOL_DIR)/extras/crt/include \
-isystem $(PINTOOL_DIR)/extras/crt/include/arch-x86_64 \
-isystem $(PINTOOL_DIR)/extras/crt/include/arch-$(BIONIC_ARCH) \
-isystem $(PINTOOL_DIR)/extras/crt/include/kernel/uapi \
-isystem $(PINTOOL_DIR)/extras/crt/include/kernel/uapi/asm-x86 \
-I$(PINTOOL_DIR)/extras/components/include \
-I$(PINTOOL_DIR)/extras/xed-intel64/include/xed \
-I$(PINTOOL_DIR)/extras/xed-$(XED_ARCH)/include/xed \
-I$(PINTOOL_DIR)/source/tools/Utils \
-I$(PINTOOL_DIR)/source/tools/InstLib \
-O3 -fomit-frame-pointer -fno-strict-aliasing -c $(top_srcdir)/src/sst/elements/ariel/frontend/pin3/fesimple.cc
-O3 -c $(top_srcdir)/src/sst/elements/ariel/frontend/pin3/fesimple.cc
else

fesimple.so : fesimple.o
$(CXX) -shared -Wl,--hash-style=sysv \
$(PINTOOL_DIR)/intel64/runtime/pincrt/crtbeginS.o \
$(PINTOOL_DIR)/$(TARGET)/runtime/pincrt/crtbeginS.o \
-Wl,-Bsymbolic -Wl,--version-script=$(PINTOOL_DIR)/source/include/pin/pintool.ver \
-o fesimple.so fesimple.o \
-L$(PINTOOL_DIR)/intel64/runtime/pincrt \
-L$(PINTOOL_DIR)/intel64/lib \
-L$(PINTOOL_DIR)/intel64/lib-ext \
-L$(PINTOOL_DIR)/extras/xed-intel64/lib -lpin -lxed \
$(PINTOOL_DIR)/intel64/runtime/pincrt/crtendS.o \
-L$(PINTOOL_DIR)/$(TARGET)/runtime/pincrt \
-L$(PINTOOL_DIR)/$(TARGET)/lib \
-L$(PINTOOL_DIR)/$(TARGET)/lib-ext \
-L$(PINTOOL_DIR)/extras/xed-$(XED_ARCH)/lib -lpin -lxed \
$(PINTOOL_DIR)/$(TARGET)/runtime/pincrt/crtendS.o \
-lpin3dwarf -ldl-dynamic -nostdlib -lstlport-dynamic -lm-dynamic -lc-dynamic -lunwind-dynamic

fesimple.o : $(top_srcdir)/src/sst/elements/ariel/frontend/pin3/fesimple.cc
$(CXX) \
$(PIN_CPPFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(PIN_CPPFLAGS) $(PIN_CPPFLAGS_COMPILER) $(AM_CPPFLAGS) $(CPPFLAGS) \
-I$(top_srcdir)/src/sst/elements/ariel \
-I$(PINTOOL_DIR)/source/include/pin \
-I$(PINTOOL_DIR)/source/include/pin/gen \
-isystem $(PINTOOL_DIR)/extras/stlport/include \
-isystem $(PINTOOL_DIR)/extras/libstdc++/include \
-isystem $(PINTOOL_DIR)/extras/crt/include \
-isystem $(PINTOOL_DIR)/extras/crt/include/arch-x86_64 \
-isystem $(PINTOOL_DIR)/extras/crt/include/arch-$(BIONIC_ARCH) \
-isystem $(PINTOOL_DIR)/extras/crt/include/kernel/uapi \
-isystem $(PINTOOL_DIR)/extras/crt/include/kernel/uapi/asm-x86 \
-I$(PINTOOL_DIR)/extras/components/include \
-I$(PINTOOL_DIR)/extras/xed-intel64/include/xed \
-I$(PINTOOL_DIR)/extras/xed-$(XED_ARCH)/include/xed \
-I$(PINTOOL_DIR)/source/tools/Utils \
-I$(PINTOOL_DIR)/source/tools/InstLib \
-O3 -fomit-frame-pointer -fno-strict-aliasing -c $(top_srcdir)/src/sst/elements/ariel/frontend/pin3/fesimple.cc
-O3 -c $(top_srcdir)/src/sst/elements/ariel/frontend/pin3/fesimple.cc
endif
endif

Expand All @@ -260,10 +248,10 @@ fesimple.so : fesimple.o
$(CXX) -shared -Wl,--hash-style=sysv -Wl,-Bsymbolic \
-o fesimple.so fesimple.o \
-Wl,--version-script=$(PINTOOL_DIR)/source/include/pin/pintool.ver \
-L$(PINTOOL_DIR)/intel64/lib \
-L$(PINTOOL_DIR)/intel64/lib-ext \
-L$(PINTOOL_DIR)/intel64/runtime/glibc \
-L$(PINTOOL_DIR)/extras/xed-intel64/lib \
-L$(PINTOOL_DIR)/$(TARGET)/lib \
-L$(PINTOOL_DIR)/$(TARGET)/lib-ext \
-L$(PINTOOL_DIR)/$(TARGET)/runtime/glibc \
-L$(PINTOOL_DIR)/extras/xed-$(XED_ARCH)/lib \
-ldl -lpin -lxed -lpindwarf -ldl -lpthread -lrt $(LIBZ_LDFLAGS) $(LIBZ_LIB)

fesimple.o : $(top_srcdir)/src/sst/elements/ariel/frontend/simple/fesimple.cc
Expand All @@ -275,7 +263,7 @@ fesimple.o : $(top_srcdir)/src/sst/elements/ariel/frontend/simple/fesimple.cc
-I$(PINTOOL_DIR)/ \
-I$(PINTOOL_DIR)/extras/components/include \
-I$(PINTOOL_DIR)/source/include/pin/gen/ \
-I$(PINTOOL_DIR)/extras/xed-intel64/include \
-I$(PINTOOL_DIR)/extras/xed-$(XED_ARCH)/include \
-I$(top_srcdir)/src/sst \
-I$(top_srcdir)/src/sst/elements/ariel \
-O3 -fomit-frame-pointer -c $(top_srcdir)/src/sst/elements/ariel/frontend/simple/fesimple.cc
Expand Down
19 changes: 18 additions & 1 deletion src/sst/elements/ariel/frontend/pin3/fesimple.cc
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,23 @@

#undef __STDC_FORMAT_MACROS

// Undo some Clang-specific changes possibly made by the libc++ bundled with
// PinCRT
#ifdef __LP64__
# ifdef __clang__
# if defined(PIN_VERSION_MINOR) && PIN_VERSION_MINOR > 29
// Allow usage of the warnmacros header without modifying it
# ifdef UNUSED
# undef UNUSED
# endif
# include <sst/core/warnmacros.h>
DIAG_DISABLE(macro-redefined)
# define __PRI_64_prefix "l"
# define __PRI_PTR_prefix "l"
REENABLE_WARNING
# endif
# endif
#endif

using namespace SST::ArielComponent;
using namespace std;
Expand Down Expand Up @@ -193,7 +210,7 @@ VOID ariel_print_stack(UINT32 thr, UINT64 allocSize, UINT64 allocAddr, UINT64 al
{

unsigned int depth = arielStack[thr].size() - 1;
BT_PRINTF("Malloc,0x%" PRIx64 ",%lu,%" PRIu64 "\n", allocAddr, allocSize, allocIndex);
BT_PRINTF("Malloc,0x%" PRIx64 ",%" PRIu64 ",%" PRIu64 "\n", allocAddr, allocSize, allocIndex);

vector<ADDRINT> newMappings;
for (vector<StackRecord>::reverse_iterator rit = arielStack[thr].rbegin(); rit != arielStack[thr].rend(); rit++) {
Expand Down
2 changes: 1 addition & 1 deletion src/sst/elements/ariel/frontend/simple/fesimple.cc
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ VOID ariel_print_stack(UINT32 thr, UINT64 allocSize, UINT64 allocAddr, UINT64 al
{

unsigned int depth = arielStack[thr].size() - 1;
BT_PRINTF("Malloc,0x%" PRIx64 ",%lu,%" PRIu64 "\n", allocAddr, allocSize, allocIndex);
BT_PRINTF("Malloc,0x%" PRIx64 ",%" PRIu64 ",%" PRIu64 "\n", allocAddr, allocSize, allocIndex);

vector<ADDRINT> newMappings;
for (vector<StackRecord>::reverse_iterator rit = arielStack[thr].rbegin(); rit != arielStack[thr].rend(); rit++) {
Expand Down
73 changes: 0 additions & 73 deletions src/sst/elements/llyr/Makefile.am

This file was deleted.

Loading