-
Notifications
You must be signed in to change notification settings - Fork 55
/
CHANGELOG
200 lines (162 loc) · 7.47 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
Aladdin Public Release, v1.3.0
06-29-2015
*Refactored Scratchpad and BaseDatapath/DDDG.
-------------------------------------------------------------------------------
Aladdin Public Release, v1.3.0
06-06-2015
*Support 3-stage, both single and double precision floating point operations!
-------------------------------------------------------------------------------
Aladdin Public Release, v1.2.2
05-30-2015
*Remove obsolete opcode_func.cpp;
*Use FU's critical path delay as node latency;
-------------------------------------------------------------------------------
Aladdin Public Release, v1.2.1
05-26-2015
*DDDG class refactoring. Removed unnecessary file I/Os.
-------------------------------------------------------------------------------
Aladdin Public Release, v1.2.0
05-16-2015
*Major refactoring datapath class. Thanks Sam for the hard work!
-------------------------------------------------------------------------------
Aladdin Public Release, v1.1.5
05-06-2015
*Renamed updateGraph() to rescheduleNodesWhenNeeded() to clarify the ALAP
scheduling.
*Fixed loop flatten unit test.
-------------------------------------------------------------------------------
Aladdin Public Release, v1.1.4
04-14-2015
*Update ScratchpadDatapath to model packing of multiple functional units into
one cycle;
*Fixed an issue in removePhiNodes() in case of removing a edge that doesn't
exist.
*Simplified memoryAmbiguation() with induction variables.
-------------------------------------------------------------------------------
Aladdin Public Release, v1.1.3
04-12-2015
*Clang-formatted all the code in common.
-------------------------------------------------------------------------------
Aladdin Public Release, v1.1.2
04-12-2015
*Fixed arrayBaseAddress index.
*Fixed memory bandwidth control and added a flag to indicate none of the
scratchpads can service.
-------------------------------------------------------------------------------
Aladdin Public Release, v1.1.1
04-09-2015
*Relax the condition in memoryAmbiguation() to differentiate dynamic and static
memory operations.
--Sam Xi and Sophia Shao
-------------------------------------------------------------------------------
Aladdin Public Release, v1.1.0
04-08-2015
*Changed the trace format (Please update LLVM-Tracer to 1.1):
**Compressed trace: LLVM-Tracer generates gzipped trace for Aladdin to reduce
the input trace size;
**Parameter format for phi nodes: For phi node parameters, we add one more
column in the end to profile its corresponding previous basic
block id.
*Fixed an issue in removePhiNodes() for chained phi nodes.
*Updated power/area models for 1, 2, 3, 4, 5, and 6ns functional units.
*Added cycle_time as one of the parameters in the config file.
--Hyunkwang Lee, Sam Xi and Sophia Shao
-------------------------------------------------------------------------------
Aladdin Public Release, v1.0.1
03-30-2015
*Fixed an issue in removeRepeatedStore() on counting real children nodes;
*Reorganized baseAddress map.
--Sam Xi and Sophia Shao
-------------------------------------------------------------------------------
Aladdin Public Release, v1.0.0
02-08-2015
*Aladdin goes public!
--Brandon Reagen, Sam Xi and Sophia Shao
-------------------------------------------------------------------------------
Aladdin Pre-Release, v0.3.0
01-15-2015
*Added wordsize as a new column in the config file for array partition. Now the
config file format for array partition is:
partition,cyclic,array_name,array_size_in_bytes,wordsize,partition_factor
partition,complete,array_name,array_size_in_bytes
*Refactored registers (completely partitioned array) and elimated MemoryInterface.
*Dump the final DDDG into a bench_graph.dot file (in dot format). Users can view
the DDDG directly with dot.
*Fixed a bug in register power calculation.
*Fixed a bug in initBaseAddress().
*Fully integrated CACTI-P into Aladdin to dynamically calculated SRAM power/area.
*Switched the dynamic power calculation in memory to energy calculation. Keep
leakage power calculation the same.
--Sam Xi and Sophia Shao
-------------------------------------------------------------------------------
Aladdin Pre-Release, v0.2.1
10-29-2014
*Added unit tests for graph transformation.
*Added helper functions for DMA integration.
*Moved Scratchpad Aladdin files to the /common directory. General Aladdin
components now belong to /common.
*Use std::set to store the to_remove_edges instead of std::vector in case we
remove the same edge twice.
--Sam Xi and Sophia Shao
-------------------------------------------------------------------------------
Aladdin Pre-Release, v0.2.0
10-17-2014
*Implemented: Major refactoring of Aladdin for cache integration:
Datapath and Scratchpad have each been divided into parent-child
relationships;
a. Added BaseDatapath parent class that does not rely on any
memory-specific behavior. ScratchDatapath.cpp inherits from
BaseDatapath.cpp to model accelerators connetected with a local
scratchpad memory.
b. Added MemoryInterface parent class that is generic for any
memory structure. Scratchpad.cpp inherits from MemoryInterface.cpp
for scratchpads. Future implementations of cache-based memory
interface should follow MemoryInterface.
--Sam Xi and Sophia Shao
-------------------------------------------------------------------------------
Aladdin Pre-Release, v0.1.4
09-21-2014
*Fixed: remove read/write graph file I/O operation; just read graph once and
store it in memory; significant speedup;
--Sophia Shao
-------------------------------------------------------------------------------
Aladdin Pre-Release, v0.1.3
09-05-2014
*Fixed: base address initialization: for the case where there is bitcast between
gep and load/store
*Implemented: handle multi-dimention arrays
*Implemented: track dependences forwarding in function call to handle
degenerated array names
--Sophia Shao
-------------------------------------------------------------------------------
Aladdin Pre-Release, v0.1.2
08-08-2014
*Fixed: tree height optimization.
*Fixed: complete partition: when completely partitioning all the arrays in an application.
*Fixed: store buffer: node_id overflow.
*Fixed: loop pipelining: control dependence between basic blocks cleaned up.
--Sophia Shao
-------------------------------------------------------------------------------
Aladdin Pre-Release, v0.1.1
08-03-2014
*Fixed: store memory address using long long instead of unsigned
*Fixed: update the scheduler to keep the timestamp of when nodes are fired
*Fixed: remove function/sub-graph optimization and scheduling: all the
optimizations are applied to the whole graph; improve optimization and
scheduling speed.
*Implemented: Separate loop unrolling and loop pipelining; user can turn on/off
loop pipeling from config file
*Implemented: Initial support for unrolling inner loops in a nested loop.
*Implemented: Initial support for multi-loop function.
--Sophia Shao
-------------------------------------------------------------------------------
Aladdin Pre-Release, v0.1.0
07-18-2014
*First Release
*Implemented: Build the DDDG from an LLVM IR trace
*Implemented: Optimizations: loop unrolling, memory ambiguation, lood
forwarding, store forwarding, remove repeated store, memory to register, memory
partition, loop flattening, tree height reduction
*Implemented: Scheduler constraining memory bandwidth
*Implemented: FU and MEM power models
--Sophia Shao