-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
348 lines (278 loc) · 16.6 KB
/
index.html
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
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
<html>
<head>
<title>Vasileios Porpodas</title>
</head>
<body bgcolor="222222" text="#dddddd" link="#0099cc" vlink="#888888" alink="#ff9933">
<h2>Vasileios Porpodas</h2>
<div style="width:1024px;">
<table border="0">
<tr>
<td>
<table border=0><tr><td>v(LastName)</td><td><img height="20" src="img/papaki_white.png"/></td><td>google.com</td></tr></table>
</td>
<td width=100%></td>
</tr>
</table>
<br/>
I am a compiler developer at Google in the Bay Area, developing a <a href="https://discourse.llvm.org/t/rfc-sandbox-vectorizer-an-experimental-modular-vectorizer/79059">new auto-vectorizer in upstream LLVM</a> based on <a href="https://llvm.org/docs/SandboxIR.html">Sandbox IR</a>.
<br/>
<br/>
Before joining Google I was a compiler developer at Intel in Santa Clara, and before that I was workng on compilers at the <a href="http://www.cl.cam.ac.uk">University of Cambridge</a>.
<br/>
<br/>
I did my Ph.D. in compilers at the <a href="https://informatics.ed.ac.uk">School of Informatics, University of Edinburgh</a>.
My <a href="papers/v.porpodas_thesis.pdf">thesis</a> was on code generation for scalable low-power VLIW processors in GCC.
<h3><a name="publications">Publications</a> <a href="http://www.informatik.uni-trier.de/~ley/pers/hd/p/Porpodas:Vasileios.html">(DBLP)</a>
<a href="https://scholar.google.com/citations?user=5AHPuNQAAAAJ">(Google Scholar)</a></h3>
<ul>
<table border=1>
<tr><td width='140px' align='center'><b>Research Area</b></td> <td align='center'><b>Publications</b></td></tr>
<tr><td>Auto-Vectorization</td><td>
<ul>
<li>
[<a href="http://cgo.org">CGO'19</a>] <a href="https://doi.org/10.1109/CGO.2019.8661192"> Super-Node SLP: Optimized Vectorization for Code Sequences Containing Operators and Their Inverse Elements </a> <br/>
Vasileios Porpodas, <a href="http://rcor.me">Rodrigo C. O. Rocha</a>, Evgueni Brevnov, Luís F. W. Góes, <a href="https://www.intel.ai/bio/tim-mattson/">Timothy Mattson</a>.
<br/>Intl. Symp. on Code Generation and Optimization (CGO), Feb 2019.
<br/>
<a href="papers/snslp_cgo2019.pdf">pdf</a>
<a href="papers/snslp_cgo2019.bib">bib</a>
<a href="papers/snslp_cgo2019_slides.pdf">slides</a>
<a href="https://reviews.llvm.org/D63661"><img src="img/llvm_dragon_small.png"/ height="15px" style="background-color:#555555;"/>LLVM Patch</a>
<a href="http://www.llvm.org/devmtg/2019-04/slides/Poster-Porpodas-Supernode_SLP.pdf">Poster@EuroLLVM'19</a>
</li>
<br/>
<li>
[<a href="https://lcpc19.cc.gatech.edu/">LCPC'19</a>] <!-- <a href=""> --> PostSLP: Cross-Region Vectorization of Fully or Partially Vectorized Code <!-- </a> --> <br/>
Vasileios Porpodas and Pushkar Ratnalikar</a>.
<br/>Intl. Wksp. on Languages and Compilers for Parallel Computing (LCPC), Oct 2019.
<br/>
<a href="papers/postslp_lcpc2019.pdf">pdf</a>
<a href="papers/postslp_lcpc2019.bib">bib</a>
<a href="papers/postslp_lcpc2019_slides.pdf">slides</a>
</li>
<br/>
<li>
[<a href="http://pactconf.org">PACT'18</a>] <a href="https://doi.org/10.1145/3243176.3243189">VW-SLP: Auto-Vectorization with Adaptive Vector Width</a><br/>
Vasileios Porpodas, <a href="http://rcor.me">Rodrigo C. O. Rocha</a> and Luís F. W. Góes.
<br/>Intl. Conference on Parallel Architectures and Compilation Techniques (PACT), Nov 2018.
<br/>
<a href="papers/vwslp_pact2018.pdf">pdf</a>
<a href="papers/vwslp_pact2018.bib">bib</a>
<a href="papers/vwslp_pact2018_slides.pdf">slides</a>
<a href="https://www.youtube.com/watch?v=9H1oKNEGv3c"><img src="img/play_button_small.png"/ height="15px">demo</a>
<a href="https://www.youtube.com/watch?v=d5LgjCDkkB0"><img src="img/play_button_small.png"/ height="15px">video(LLVM-DEV'18)</a>
<br/>
</li>
<br/>
<li>
[<a href="http://cgo.org/cgo2018/">CGO'18</a>] <a href="https://doi.org/10.1145/3168807"> Look-Ahead SLP: Auto-Vectorization in the Presence of Commutative Operations</a><br/>
Vasileios Porpodas, <a href="http://rcor.me">Rodrigo C. O. Rocha</a> and Luís F. W. Góes.
<br/>Intl. Symp. on Code Generation and Optimization (CGO), Feb 2018.
<br/>
<a href="papers/lslp_cgo2018.pdf">pdf</a>
<a href="papers/lslp_cgo2018.bib">bib</a>
<a href="papers/lslp_cgo2018_slides.pdf">slides</a>
<a href="https://reviews.llvm.org/D60897"><img src="img/llvm_dragon_small.png"/ height="15px" style="background-color:#555555;"/>LLVM SLP Patch</a>
<a href="https://reviews.llvm.org/rL346857"><img src="img/llvm_dragon_small.png"/ height="15px" style="background-color:#555555;"/>VPlan Patch (third-party)</a>
<a href="https://www.youtube.com/watch?v=gIEn34LvyNo"><img src="img/play_button_small.png"/ height="15px">Video@EuroLLVM'18</a>
</li>
<br/>
<li>
[<a href="http://www.pactconf.org/">PACT'17</a>] <a href="https://doi.org/10.1109/PACT.2017.21"> SuperGraph SLP Auto-Vectorization.</a> <br/>
Vasileios Porpodas.
<br/>Intl. Conference on Parallel Architectures and Compilation Techniques (PACT), Sep 2017.
<br/>
<a href="papers/sgslp_pact2017.pdf">pdf</a>
<a href="papers/sgslp_pact2017.bib">bib</a>
<a href="papers/sgslp_pact2017_slides.pdf">slides</a>
</li>
<br/>
<li>
[<a href="http://www.pactconf.org/">PACT'15</a>] <a href="http://dx.doi.org/10.1109/PACT.2015.32"> Throttling Automatic Vectorization: When Less Is More.</a> <br/>
Vasileios Porpodas, and <a href="http://www.cl.cam.ac.uk/~tmj32/">Timothy M. Jones</a>.
<br/>Intl. Conference on Parallel Architectures and Compilation Techniques (PACT), Oct 2015.
<br/>
<a href="papers/tslp_pact2015.pdf">pdf</a>
<a href="papers/tslp_pact2015.bib">bib</a>
<a href="papers/tslp_pact2015_slides.pdf">slides</a>
<a href="https://reviews.llvm.org/D57779"><img src="img/llvm_dragon_small.png"/ height="15px" style="background-color:#555555;"/>LLVM patch (third-party)</a>
<a href="https://www.youtube.com/watch?v=xxtA2XPmIug"><img src="img/play_button_small.png"/ height="15px">video(LLVM'15)</a>
</li>
<br/>
<li>
[<a href="http://cgo.org/cgo2015/">CGO'15</a>] <a href="http://dx.doi.org/10.1109/CGO.2015.7054199"> PSLP: Padded SLP Automatic Vectorization.</a><br/>
Vasileios Porpodas, <a href="http://homepages.inf.ed.ac.uk/s1158370/">Alberto Magni</a> and <a href="http://www.cl.cam.ac.uk/~tmj32/">Timothy M. Jones</a>.
<br/>Intl. Symp. on Code Generation and Optimization (CGO), Feb 2015.
<br/>
<a href="papers/pslp_cgo2015.pdf">pdf</a>
<a href="papers/pslp_cgo2015.bib">bib</a>
<a href="papers/pslp_cgo2015_slides.pdf">slides</a>
<a href="https://www.youtube.com/watch?v=XHyFSlRmekg"><img src="img/play_button_small.png"/ height="15px">video(EuroLLVM'15)</a>
<a href="http://www.scopesconf.org/scopes-15/">award@SCOPES'15</a>
</li>
<br/>
</ul>
</td></tr>
<tr><td>Scalar Optimizations</td></td>
<td>
<ul>
<li>
[<a href="https://conf.researchr.org/home/CC-2020">CC'20</a>] <a href="https://doi.org/10.1145/3377555.3377890"> Vectorization-aware loop unrolling with seed forwarding </a> <br/>
<a href="http://rcor.me">Rodrigo C. O. Rocha</a>, Vasileios Porpodas, Pavlos Petoumenos, Luís F. W. Góes, Zheng Wang, Murray Cole and Hugh Leather.
<br/>Intl. Conference on Compiler Construction (CC), 2020.
<br/>
<a href="papers/valu_cc2020.pdf">pdf</a>
<a href="papers/valu_cc2020.bib">bib</a>
</li>
<br/>
</ul>
</td>
<tr><td>Parallel Data Structures</td><td>
<ul>
<li>
[<a href="http://ics16.bilkent.edu.tr/">ICS'16</a>]<a href="http://dx.doi.org/10.1145/2925426.2926274"><img src="img/lynx.png" height="30"/>Lynx: Using OS and Hardware Support for Fast Fine-Grained Inter-Core Communication.</a><br/>
<a href="https://kmitropoulou.github.io">Konstantina Mitropoulou</a>, Vasileios Porpodas, <a href="http://www.cl.cam.ac.uk/~xz352/">Xiaochun Zhang</a> and <a href="http://www.cl.cam.ac.uk/~tmj32/">Timothy M. Jones</a>.<br/>
International Conference on Supercomputing (ICS), June 2016.
<br/>
<a href="papers/lynx_ics2016.pdf">pdf</a>
<a href="papers/lynx_ics2016.bib">bib</a>
<a href="https://kmitropoulou.github.io/papers/lynx/lynx_pres.pdf">slides</a>
<a href="https://kmitropoulou.github.io/src/lynxQ.tar.bz2"><img src="img/download.png" height="15px"/>source code in C and C++</a><br/>
</li><br/>
</ul></td></tr>
<tr><td>Instruction Scheduling</td><td>
<ul>
<li>
[<a href="http://www.lcpcworkshop.org/">LCPC'13</a>] <a href="http://link.springer.com/chapter/10.1007/978-3-319-09967-5_16">Aligned Scheduling: Cache-efficient Instruction Scheduling for VLIW Processors. </a>
<br/>Vasileios Porpodas and <a href="http://homepages.inf.ed.ac.uk/mc/">Marcelo Cintra</a>.
<br/>Intl. Wksp. on Languages and Compilers for Parallel Computing (LCPC), Sep 2013.
<br/>
<a href="papers/aligned_lcpc2013.pdf">pdf</a>
<a href="papers/aligned_lcpc2013.bib">bib</a>
<a href="papers/aligned_lcpc2013_slides.pdf">slides</a>
</li><br/>
<li>
[<a href="http://www.esweek.org/cases/">CASES'13</a>]
<a href="http://dx.doi.org/10.1109/CASES.2013.6662513">CAeSaR: unified Cluster-Assignment Scheduling and communication Reuse for clustered VLIW processors.</a>
<br/>Vasileios Porpodas and <a href="http://homepages.inf.ed.ac.uk/mc/">Marcelo Cintra</a>.
<br/>Intl. Conf. on Compilers Architecture and Synthesis for Embedded Systems (CASES), Sep 2013.
<br/>
<a href="papers/caesar_cases2013.pdf">pdf</a>
<a href="papers/caesar_cases2013.bib">bib</a>
<a href="papers/caesar_cases2013_slides.pdf">slides</a>
</li><br/>
<li>
[<a href="http://www.dcs.gla.ac.uk/conferences/lctes13/">LCTES'13</a>]
<a href="http://doi.acm.org/10.1145/2465554.2465565">LUCAS: Latency-adaptive Unified Cluster Assignment and instruction Scheduling.</a>
<br/>Vasileios Porpodas and <a href="http://homepages.inf.ed.ac.uk/mc/">Marcelo Cintra</a>.
<br/>Conf. on Languages, Compilers and Tools for Embedded Systems (LCTES), Jun 2013.
<br/>
<a href="papers/lucas_lctes2013.pdf">pdf</a>
<a href="papers/lucas_lctes2013.bib">bib</a>
<a href="papers/lucas_lctes2013_slides.pdf">slides</a>
</li><br/>
<li>
[<a href="http://www.lcpcworkshop.org/">LCPC'12</a>] <a href="http://link.springer.com/chapter/10.1007%2F978-3-642-37658-0_9">UCIFF: Unified Cluster Assignment, Instruction Scheduling, and Fast Frequency Selection for Heterogeneous Clustered VLIW Cores.</a>
<br/>Vasileios Porpodas and <a href="http://homepages.inf.ed.ac.uk/mc/">Marcelo Cintra</a>.
<br/>Intl. Wksp. on Languages and Compilers for Parallel Computing (LCPC), Sep 2012.
<br/>
<a href="papers/uciff_lcpc2012.pdf">pdf</a>
<a href="papers/uciff_lcpc2012.bib">bib</a>
<a href="papers/uciff_lcpc2012_slides.pdf">slides</a>
</li><br/>
</ul>
</td></tr>
<tr><td>Fault Tolerance</td><td>
<ul>
<li>
[<a href="https://arxiv.org">arXiv</a>] <a href="https://arxiv.org/abs/1906.09390">ZOFI: Zero Overhead Fault Injection Tool for Fast Transient Fault Coverage Analysis</a><br/>
Vasileios Porpodas.
<br/>arXiv report, Jun 2019.
<br/>
<a href="papers/zofi_2019.pdf">pdf</a>
<a href="papers/zofi_2019.bib">bib</a>
<a href="https://github.com/vporpo/zofi"><img src="img/download.png" height="15px"/>Download tool / Source code</a>
</li>
<br/>
<li>
[<a href="http://www.esweek.org/">CASES'16</a>] <a href="https://doi.org/10.1145/2968455.2968508">COMET: Communication-Optimised Multi-threaded Error-detection Technique.</a><br/>
<a href="https://kmitropoulou.github.io">Konstantina Mitropoulou</a>, Vasileios Porpodas and <a href="http://www.cl.cam.ac.uk/~tmj32/">Timothy M. Jones</a>.<br/>
Intl. Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES), Oct 2016.
<br/>
<a href="papers/comet_cases2016.pdf">pdf</a>
<a href="papers/comet_cases2016.bib">bib</a>
</li><br/>
<li>
[<a href="http://www.lcpcworkshop.org/">LCPC'13</a>] <a href="http://link.springer.com/chapter/10.1007/978-3-319-09967-5_13">DRIFT: Decoupled compileR-based Instruction-level Fault-Tolerance.</a><br/>
<a href="https://kmitropoulou.github.io">Konstantina Mitropoulou</a>, Vasileios Porpodas and <a href="http://homepages.inf.ed.ac.uk/mc/">Marcelo Cintra</a>.
<br/>Intl. Wksp. on Languages and Compilers for Parallel Computing (LCPC), Sep 2013.
<br/>
<a href="papers/drift_lcpc2013.pdf">pdf</a>
<a href="papers/drift_lcpc2013.bib">bib</a>
<a href="papers/drift_lcpc2013_slides.pdf">slides</a>
</li><br/>
<li>
[<a href="http://www.ipdps.org/">IPDPS'13</a>] <a href="http://dx.doi.org/10.1109/IPDPS.2013.107">CASTED: Core-Adaptive Software Transient Error Detection for Tightly Coupled Cores.</a> <a href="https://kmitropoulou.github.io">
<br/>Konstantina Mitropoulou</a>, Vasileios Porpodas and <a href="http://homepages.inf.ed.ac.uk/mc/">Marcelo Cintra</a>.
<br/>Intl. Parallel & Distributed Processing Symposium (IPDPS), May 2013.
<br/>
<a href="papers/casted_ipdps2013.pdf">pdf</a>
<a href="papers/casted_ipdps2013.bib">bib</a>
</li><br/>
</ul>
</td></tr>
<tr><td>HW / Architecture</td><td>
<ul>
<li>
[<a href="http://www.ece.lsu.edu/hpca-18/">HPCA'12</a>] <a href="http://dx.doi.org/10.1109/HPCA.2012.6169036">Cooperative Partitioning: Energy-Efficient Cache Partitioning for High-Performance CMPs.</a>
<br/><a href="http://homepages.inf.ed.ac.uk/s0570056/karthik.html">Karthik T. Sundararajan</a>, Vasileios Porpodas, <a href="http://www.cl.cam.ac.uk/~tmj32/">Timothy M. Jones</a>, <a href="http://homepages.inf.ed.ac.uk/npt/">Nigel P. Topham</a> and <a href="http://homepages.inf.ed.ac.uk/bfranke/Welcome.html">Björn Franke</a>.
<br/>Intl. Symp. on High-Performance Computer Architecture (HPCA), February 2012.
<a href="papers/cooperative_hpca2012.pdf">pdf</a>
<a href="papers/cooperative_hpca2012.bib">bib</a>
</li><br/>
<li>
[<a href="http://www.springer.com/engineering/signals/journal/11265">JSPS</a>] <a href="http://dx.doi.org/10.1007/s11265-009-0393-9">Decoupled Processors Architecture for Accelerating Data Intensive Applications using Scratch-Pad Memory Hierarchy.</a>
<br/>A. Milidonis, N. Alachiotis, V. Porpodas, <a href="https://www.cut.ac.cy/eecei/staff/harris.michail/">H. Michail</a>, G. Panagiotakopoulos, <a href="http://www.dib.uth.gr/?q=en/node/107">A.P. Kakarountas</a>, and <a href="http://www.vlsi.ee.upatras.gr/~goutis/">C.E. Goutis</a>.
<br/>Journal of Signal Processing Systems (JSPS), pages 1-16, 2009.
<a href="papers/springer09.bib">bib</a>
</li><br/>
<li>
[<a href="http://digital-library.theiet.org/IET-CDT">CDT</a>] <a href="http://dx.doi.org/10.1049/iet-cdt:20070145"> Low-power architecture with scratch-pad memory for accelerating embedded applications with run-time reuse.</a>
<br/>A. Milidonis, V. Porpodas, N. Alachiotis, <a href="http://www.dib.uth.gr/?q=en/node/107">A.P. Kakarountas</a>, <a href="https://www.cut.ac.cy/eecei/staff/harris.michail/">H. Michail</a>, G. Panagiotakopoulos, and <a href="http://www.vlsi.ee.upatras.gr/~goutis/">CE Goutis</a>.
<br/>IET Computers & Digital Techniques (CDT) pages 109-123, 2009.
<a href="papers/iet09.bib">bib</a>
</li><br/>
<li>
[<a href="http://www.vlsi-soc.com">VLSI-SOC'08</a>] A Scratch-Pad Memory Accelerator for Exploiting Run-Time Reuse.
<br/>A. Milidonis, V. Porpodas, <a href="https://www.cut.ac.cy/eecei/staff/harris.michail/">H. Michail</a>, <a href="http://www.dib.uth.gr/?q=en/node/107">A.P. Kakarountas</a>, G. Panagiotakopoulos and <a href="http://www.vlsi.ee.upatras.gr/~goutis/">CE Goutis</a>.
<br/>VLSI-SOC 2008.
</li><br/>
<li>
[<a href="http://www.date-conference.com">DATE'07</a>] <a href="http://dx.doi.org/10.1109/DATE.2007.364661">A Decoupled Architecture of Processors with Scratch-Pad Memory Hierarchy.</a>
<br/>A. Milidonis, N. Alachiotis, V. Porpodas, <a href="https://www.cut.ac.cy/eecei/staff/harris.michail/">H. Michail</a>, <a href="http://www.dib.uth.gr/?q=en/node/107">AP Kakarountas</a>, and <a href="http://www.vlsi.ee.upatras.gr/~goutis/">CE Goutis</a>.
<br/>Design, Automation & Test in Europe (DATE), pages 1-6, 2007.
<a href="papers/date07.bib">bib</a>
</li><br/>
</ul>
</td></tr>
</table>
<h3>Links</h3>
Some of my spare-time projects:
<ul>
<li><a href="https://github.com/vporpo/zofi"><img src="img/zofi_logo.gif" width="66">ZOFI</img></a> Zero Overhead Fault Injection tool for super fast fault-coverage analysis.</li>
<li><a href="xfig_slides/index.html"><img src="img/sample_slides_small.gif" width="66">Xfig-slides</img></a> Use Xfig to create animated slides !</li>
<li><a href="https://github.com/vporpo/moufoplot"><img src="img/moufoplot_logo.png" width="64">moufoplot</a> A powerful but easy to use gnuplot front-end.</li>
<li><a href="https://github.com/vporpo/moufodns"><img src="img/moufodns.png" width="64">moufodns</a> A simple DNS server.</li>
<li><a href="300usb/300usb.html"><img src="300usb/300usb_logo.jpg"/>How to prepare 300 USB flash drives in less than 1 Hour</a>
<li><a href="http://slack-desc.sourceforge.net">slackdesc</a> Slackware package description generator.</li>
<li><a href="http://txt2bind.sourceforge.net">txt2bind</a> Converts simple txt files to BIND compatible configuration files.</li>
</ul>
<br/>
Other:
<ul>
<li><a href="http://www.slackware.com">Slackware</a></li>
<li><a href="http://gcc.gnu.org">GCC</a></li>
</ul>
</div>
</body>
</html>