Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
5c95a48
reasoning for loopaa
vgene Oct 7, 2022
edbf7fc
match new noelle changes
vgene Oct 31, 2022
759c147
add inst select with namer id
vgene Oct 31, 2022
9e2fed0
add inst select with namer id
vgene Oct 31, 2022
48f0064
add new context tracking for SLAMP
vgene Sep 17, 2022
e958f50
add context tracking and object lifetime tracking
vgene Sep 19, 2022
ba6e419
add underlying object tracking at the pointer creation place
vgene Sep 22, 2022
21cac1a
update SLAMP to support more context printing; add a parsing script t…
vgene Sep 29, 2022
62beb3e
the points-to and local are working for dijkstra
vgene Sep 30, 2022
5272eac
add different queue implementation for SLAMP
vgene Oct 4, 2022
3307556
update different queue implementation
vgene Oct 6, 2022
d2d8e1d
add consumer code for each impl
vgene Oct 6, 2022
7f90492
add queue benchmark result on white
vgene Oct 6, 2022
6973bdc
add slamp stats runtime
vgene Oct 6, 2022
37de55b
fix slamp bug: wrong users added slamp_ext_push/pop; invoke target mi…
vgene Oct 6, 2022
556e8a3
update .clangd
vgene Oct 6, 2022
31bcb7b
slamp-driver for stats
vgene Oct 7, 2022
7b9ed9e
queue supported dep mod
vgene Oct 10, 2022
5203123
get nab working
vgene Oct 12, 2022
2b5e2ef
add smtx version
vgene Oct 13, 2022
4d1ab5c
parallelize log; use smtx queue
vgene Oct 14, 2022
2703169
fix allocation; mcf working
vgene Oct 14, 2022
76c0091
update initialization alloc
vgene Oct 18, 2022
ec231c2
add a load store buffer and able to proces load store in multiple thr…
vgene Oct 19, 2022
1e4dade
have more bits for invocation
vgene Oct 19, 2022
f268285
add a custom double buffering design
vgene Oct 25, 2022
60a2fe1
disable inlining to avoid the bug
vgene Oct 27, 2022
d90ffc0
update smtx version to match custom
vgene Oct 31, 2022
fb1d274
optimize consumer load value
vgene Oct 31, 2022
b4ba12a
add slamp smtx driver
vgene Oct 31, 2022
eebb835
add mm stream and prefetch to improve queue efficiency; increase the …
vgene Nov 1, 2022
eca9c51
add history and replay function
vgene Nov 1, 2022
b1248f4
Merge branch 'master' of github.com:PrincetonUniversity/cpf into repl
vgene Nov 1, 2022
bc5c53a
refactoring
vgene Nov 3, 2022
bff970d
refactoring: isolate High-throughput container
vgene Nov 4, 2022
527566d
localwrite through buffer
vgene Nov 4, 2022
d0c4c21
remove static log time update
vgene Nov 7, 2022
6a9a11a
fix repl
vgene Nov 7, 2022
d5dc223
Merge branch 'repl' of github.com:PrincetonUniversity/cpf into slamp
vgene Nov 7, 2022
03cfbad
switch to parallel hashmap's unordered set impl
vgene Nov 7, 2022
4e1b217
make mm_stream optional
vgene Nov 7, 2022
27eb3ec
ignore bare_inst, 32bit queue
vgene Nov 7, 2022
8feb39b
fix alloc msg
vgene Nov 7, 2022
1c9c0be
remove taskset limits
vgene Nov 8, 2022
8883071
qsize is aware of the queue element type
vgene Nov 8, 2022
ed3649f
improve frontend performance by moving function call to tail, and com…
vgene Nov 8, 2022
005fb79
add sampling option
vgene Nov 9, 2022
95dc6d8
easy to debug when only one thread
vgene Nov 10, 2022
9a5edfa
add the generic way to allocate for all dynamic libraries
vgene Nov 10, 2022
13c8545
remove O3 for debug build for consumer
vgene Nov 10, 2022
f51ca4e
add notes for localwrite shift
vgene Nov 10, 2022
8507c8d
fix for perlbench: nested loops, should count the outer most loop
vgene Nov 10, 2022
054ae5a
noinline for main helps with performance
vgene Nov 10, 2022
ec0a494
Optimize queue: use non-temporal stream load; use 128bit packet
vgene Nov 11, 2022
ea4c0bf
adjust consumer to use new queue design; add merging set and printing…
vgene Nov 11, 2022
9a99619
only print out deplog at the end after merging
vgene Nov 11, 2022
53326e7
Repl: use noelle-repl as a base
vgene Nov 14, 2022
85910e9
Merge branch 'repl' into slamp
vgene Nov 14, 2022
5874605
Adaptive scaling for HT container
vgene Nov 15, 2022
0fe41f2
Adaptive scaling optional
vgene Nov 16, 2022
536a8d7
refactor consumer
vgene Nov 16, 2022
bb1a890
smaller queue with temporal load
vgene Nov 16, 2022
0581ce9
repl: have Loop Namer ID displayed when showing loops
vgene Nov 17, 2022
c90bd69
Merge branch 'repl' of github.com:PrincetonUniversity/cpf into slamp
vgene Nov 17, 2022
eaf316b
minor fixes for SLAMP
vgene Nov 19, 2022
314ff30
Merge branch 'master' of github.com:PrincetonUniversity/cpf into slamp
vgene Nov 19, 2022
21bd2e3
update slamp stats
vgene Nov 20, 2022
009e524
revert queue size to 64MB
vgene Nov 21, 2022
5bba949
separate localwrite module
vgene Nov 21, 2022
dfaf4ef
Add threadpool option for the HT containers
vgene Nov 21, 2022
d51fd2e
use temporal load to improve the load efficiency; increase default qu…
vgene Nov 21, 2022
988b7d7
add short/long-lived module: working with one benchmark
vgene Nov 23, 2022
2edc242
points-to working for dijkstra
vgene Nov 23, 2022
b210cfc
added loaded value module
vgene Nov 23, 2022
bf74fd3
points to address perlbench bug
vgene Nov 29, 2022
1d1f942
revert to dep mod
vgene Nov 29, 2022
d463d38
add HTMap_Sum impl, works for dep counting
vgene Nov 29, 2022
d4a7a22
add 24 hours limit for specpriv
vgene Nov 29, 2022
12dbb92
add HTMap_Constant impl for loaded value
vgene Nov 29, 2022
a200b68
update HTMap to be optional for dependence mod
vgene Nov 30, 2022
b3c297d
add c++17 in CMakelists
vgene Nov 30, 2022
5a709f2
push immediately after init so memory map can be read in time
vgene Nov 30, 2022
529a846
add value module to use localwrite (value based); update consumer to …
vgene Nov 30, 2022
a1bb630
improve points-to performance
vgene Dec 1, 2022
8a3ccf9
fix points-to context bug
vgene Dec 1, 2022
6b481b8
points-to improvements; loaded-value improvements
vgene Dec 2, 2022
e3aa965
rewrite context manager, more efficient
vgene Dec 2, 2022
7d61341
fix points-to NULL
vgene Dec 2, 2022
ad5c36d
make mmap fail if maps to existing address
vgene Dec 3, 2022
4d4feb2
optimize points-to: use HTMap_IsConstant; fix isConstant logic: now a…
vgene Dec 3, 2022
18fc2c6
update stats
vgene Dec 5, 2022
96e73f0
track WAR and WAW, track minimum distance, and count
vgene Dec 8, 2022
e07db57
track context
vgene Dec 9, 2022
46b6a10
revert flush after init to fix imagick bug temporarily
vgene Dec 9, 2022
3d1e156
remove load/store counting
vgene Dec 9, 2022
3254137
update smtx queue to work like custom
vgene Dec 10, 2022
114e07f
use environment variable to set shared memory queue
vgene Dec 10, 2022
894c297
fix smtxq problems
vgene Dec 10, 2022
12d9064
temporary fix for imagick
vgene Dec 11, 2022
f7d7b6c
allow all profiling modules to run with the same trace
vgene Dec 11, 2022
4eeb273
final before submission
vgene Dec 19, 2022
065a1fa
by default turn on track context
vgene Jan 18, 2023
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
2 changes: 1 addition & 1 deletion liberty/.clangd
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
CompileFlags: # Tweak the parse settings
Add: [-Wold-style-cast] # treat all files as C++, enable more warnings
Add: [-Wold-style-cast, -Wunused-variable, -Wsigned-compare] # treat all files as C++, enable more warnings
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

generic

Diagnostics:
ClangTidy:
Add: bugprone-*
4 changes: 3 additions & 1 deletion liberty/include/liberty/SLAMP/SLAMP.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ class SLAMP: public ModulePass
void instrumentDestructor(Module& m);
void instrumentGlobalVars(Module& m, Function* ctor);
void instrumentAllocas(Module& m);
void instrumentBasePointer(Module &m, Loop *l);

// functions used in instrumentAllocas
void findLifetimeMarkers(Value* i, set<const Value*>& already, std::vector<Instruction*>& starts, std::vector<Instruction*>& ends);
Expand All @@ -58,7 +59,8 @@ class SLAMP: public ModulePass

void instrumentNonStandards(Module& m, Function* ctor);
void allocErrnoLocation(Module& m, Function* ctor);

void instrumentLoopStartStopForAll(Module &m);
void instrumentFunctionStartStop(Module&m);
void instrumentLoopStartStop(Module&m, Loop* l);
void instrumentInstructions(Module& m, Loop* l);

Expand Down
3 changes: 3 additions & 0 deletions liberty/lib/Repl/ReplParse.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ enum ReplAction {
RemoveAll,
Parallelize,
Modref,
Save,
Unknown = -1
};

Expand Down Expand Up @@ -45,6 +46,7 @@ const map<string, ReplAction> ReplActions = {
{"parallelize", ReplAction::Parallelize},
{"p", ReplAction::Parallelize},
{"modref", ReplAction::Modref},
{"save", ReplAction::Save}
};

// a helper to get the vocabulary of Repl, to help the auto completion
Expand All @@ -70,6 +72,7 @@ const map<ReplAction, string> HelpText = {
{RemoveAll, "removeAll/ra $inst_id: \tremove all dependences from and to a instruction from the loop"},
{Parallelize, "paralelize/p: \tparallelize the selected loop with current dependences"},
{Modref, "modref/mr $inst_id1, $inst_id2: \tquery the modref between two instructions"},
{Save, "save $filename: \tsave the loop to a file"},
{Quit, "quit/q: quit the repl"},
};

Expand Down
Loading