-
Notifications
You must be signed in to change notification settings - Fork 9
/
partoseq.bib
555 lines (457 loc) · 15.4 KB
/
partoseq.bib
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
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
% -*- Mode: BibTeX -*-
% Bibliography for a paper on parallel-to-sequential transformation.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SEQUENTIALIZING PARALLEL PROGRAMS
%
@TECHREPORT{AllenK86,
AUTHOR = "Randy Allen and Ken Kennedy",
TITLE = "Vector Register Allocation",
INSTITUTION = "Rice University",
ADDRESS = "Houston, Texas",
MONTH = APR,
YEAR = 1986,
Note = "Revised March 1988."
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% FINITE DIFFERENCING
%
@Article{Earley75,
author = "J. Earley",
title = "High level iterators and a method for automatically
designing data structure representation",
journal = "Computer Languages",
year = "1975",
volume = "1",
number = "4",
pages = "321--342"
}
@TechReport{PaigeK80,
author = "Robert Paige and Shaye Koenig",
title = "Finite differencing of computable expressions",
institution = "Rutgers University Laboratory for Computer Science Research",
year = "1980",
number = "LCSR-TR-8",
address = "New Brunswick, New Jersey",
month = aug,
note = "Revised December, 1981"
}
@Article{PaigeK82,
author = "Robert Paige and Shaye Koenig",
title = "Finite differencing of computable expressions",
journal = toplas,
year = "1982",
volume = "4",
number = "3",
pages = "402--454",
month = jul
}
@InProceedings{PaigeS77,
author = "Bob Paige and J. T. Schwartz",
title = "Expression continuity and the formal differentiation of
algorithms",
booktitle = "Conference Record of the Fourth ACM Symposium on Principles
of Programming Languages",
year = "1977",
pages = "58--71",
address = "Los Angeles, California",
month = jan # "~17--19,"
}
@TechReport{Paige82,
author = "Robert Paige",
title = "Transformational programming: applications to algorithms
and systems",
institution = "Rutgers University Department of Computer Science",
year = "1982",
number = "DCS-TR-118",
address = "New Brunswick, New Jersey",
month = sep
}
@Book{Paige81,
author = "Robert A. Paige",
title = "Formal Differentiation: A Program Synthesis Technique",
publisher = "UMI Research Press",
year = 1981,
address = "Ann Arbor, Michigan"
}
@InProceedings{FongU76,
author = "Amelia C. Fong and Jeffrey D. Ullman",
title = "Induction variables in very high level languages",
booktitle = "Conference Record of the Third ACM Symposium on Principles
of Programming Languages",
year = "1976",
pages = "104--112",
address = "Atlanta, Georgia",
month = jan # "~19--21,"
}
@InProceedings{Fong79,
author = "Amelia C. Fong",
title = "Inductively computable constructs in very high level languages",
booktitle = "Conference Record of the Sixth ACM Symposium on Principles
of Programming Languages",
year = "1979",
pages = "21--28",
address = "San Antonio, Texas",
month = jan # "~29--31,"
}
@TechReport{Schwartz74,
author = "J. T. Schwartz",
title = "On Programming: An Interim Report on the {SETL} Project,
{Installments I and II}",
institution = "Courant Institute of Mathematical Sciences,
New York University",
year = 1974,
address = "New York, New York"
}
@Unpublished{Dewar78,
author = "Robert B. K. Dewar",
title = "The {SETL} Programming Language",
year = 1978,
note = "Manuscript"
}
@TechReport{CORNELLCS//TR95-1551,
bibdate = "November 7, 1995",
number = "TR95-1551",
institution = "Cornell University, Computer Science",
title = "Incremental Computation: {A} Semantics-Based
Systematic Transformational Approach",
year = "1995",
month = oct # " 31,",
pages = "134",
author = "Yanhong Annie Liu",
abstract = "Incremental computation takes advantage of repeated
computations on inputs that differ slightly from one
another, computing each new output incrementally by
making use of the previous output rather than from
scratch. This thesis concerns the theory, design, and
implementation of a general approach to incremental
computation. It also elucidates the essence of
improving the efficiency of computations by relating it
to incremental computation. Our general approach allows
incremental computation to be obtained systematically
from non-incremental computation and program efficiency
to be systematically improved. This research focuses on
identifying the fundamentals of efficient incremental
computation out of domain-specific properties and
language-specific features, devising a general
framework that accommodates these fundamentals, and
developing a systematic approach based on the framework
that exploits program semantics. Three fundamental
aspects of incremental computation are identified:
avoiding repeated identical computations, caching
useful intermediate results, and discovering
appropriate auxiliary information. Given a program
\$f\$ and an operation \$\oplus\$, an incremental
program is developed to compute \$f(x\oplus y)\$
efficiently by using \$f(x)\$, the intermediate results
computed in computing \$f(x)\$, and auxiliary
information about \$x\$ that can be inexpensively
maintained. The approach in this thesis is formalized
for a simple functional language, but the underlying
principles also apply to other programming languages.
It exploits program semantics to discover
incrementality that is not directly embedded in
primitive operators and takes into consideration
properties of application domains as well. It is
composed of step-wise program analysis and
transformation modules that can, for the most part, be
mechanized. Since every non-trivial computation
proceeds by iteration (or recursion), the approach is
used straightforwardly for achieving efficient
computation in general, by computing each iteration
incrementally using an appropriate incremental program.
This method is applied to problems in interactive
systems, optimizing compilers, transformational program
development, {\it etc}. The design and implementation
of a prototype system, CACHET, for obtaining
incremental programs is also described.",
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% INCREASING GRAIN/THREAD/CHUNK SIZE
%
@TechReport{Traub88,
author = "Kenneth R. Traub",
title = "Sequential Implementation of Lenient Programming Languages",
institution = MITLCS,
address = "Cambridge, Massachusetts",
year = "1988",
number = "LCS-TR-417",
month = oct
}
@TechReport{Chatterjee91,
author = "Siddhartha Chatterjee",
title = "Compiling data-parallel programs for efficient execution
on shared-memory multiprocessors",
institution = "Carnegie Mellon University",
year = {1991},
number = "CMU-CS-91-189",
address = "Pittsburgh, Pennsylvania",
month = oct
}
@InProceedings{ChatterjeeBF91,
author = "Siddhartha Chatterjee and Guy E. Blelloch and Allan L. Fisher",
title = "Size and access inference for data-parallel programs",
booktitle = "Proceedings of the ACM SIGPLAN '91 Conference on
Programming Language Design and Implementation",
year = {1991},
organization = "ACM",
month = jun # "~26--28,",
pages = "130--144"
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% LOOP UNROLLING
%
@TechReport{Culler90,
author = "David E. Culler",
title = "Managing parallelism and resources in scientific dataflow
programs",
institution = MITLCS,
year = "1990",
number = "MIT-LCS-TR-446",
address = "Cambridge, Massachusetts",
month = mar
}
@InProceedings{Cytron87,
author = "Ron Cytron",
title = "Limited processor scheduling of doacross loops",
booktitle = "Proceedings of the 1987 International Conference on
Parallel Processing",
year = "1987",
pages = "226--234",
month = aug
}
@InProceedings{Cytron86,
author = "Ron Cytron",
title = "Doacross: Beyond Vectorization for Multiprocessors.",
booktitle = "Proceedings of the 1986 International Conference on
Parallel Processing",
year = "1986",
pages = "836--844",
month = aug
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% STENCIL
%
@InProceedings{BromleyHMS91,
author = "Mark Bromley and Steven Heller and Tim McNerney and Guy L.
{Steele Jr.}",
title = "Fortran at Ten Gigaflops: The {Connection Machine}
Convolution Compiler",
booktitle = "Proceedings of the ACM SIGPLAN '91 Conference on
Programming Language Design and Implementation",
year = "1991",
pages = "145--156",
month = jun # "~26--28,"
}
@InProceedings{MyczkowskiS91,
author = "Jacek Myczkowski and Guy L. {Steele Jr.}",
title = "Seismic modeling at 14 gigaflops on the {Connection}
{Machine}",
booktitle = "Proceedings, Supercomputing '91",
pages = "316--326",
year = 1991,
address = "Albuquerque, New Mexico",
month = Nov # "~18--22,"
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% NUMERIC STABILITY
%
@Book{Knuth81,
author = "Donald E. Knuth",
title = "Seminumerical Algorithms",
publisher = "Addison-Wesley",
year = 1981,
volume = 2,
series = "The Art of Computer Programming",
address = "Reading, Massachusetts",
edition = "Second"
}
@Booklet{IEEE754,
title = "{IEEE} Standard for Binary Floating-Point Arithmetic",
author = "{Institute of Electrical and Electronics Engineers}",
address = "345 East 47th Street, New York, NY 10017",
month = Aug # "~12,",
year = 1985,
note = "IEEE Standard 754-1985"
}
@Article{Coonen80,
author = "Jerome T. Coonen",
title = "An Implementation Guide to a Proposed Standard for
Floating-Point Arithmetic",
journal = "IEEE Computer",
year = 1980,
volume = 13,
number = 1,
pages = "68--79",
month = Jan,
note = "Errata appear in {\em IEEE Computer}, 14(3):61, March 1981."
}
@Article{IEEE754-8.0,
author = "{Institute of Electrical and Electronics Engineers
Computer Society}",
title = "A Proposed Standard for Binary Floating-Point Arithmetic:
Draft 8.0 of {IEEE} {Task} {P754}",
journal = "IEEE Computer",
year = 1981,
volume = 14,
number = 3,
pages = "51--62",
month = Mar
}
@Article{Cody81,
author = "W. J. Cody",
title = "Analysis of Proposals for the Floating-Point Standard",
journal = "IEEE Computer",
year = 1981,
volume = 14,
number = 3,
pages = "63--68",
month = Mar
}
@Article{Hough81,
author = "David Hough",
title = "Applications of the Proposed {IEEE} 754 Standard for
Floating-Point Arithmetic",
journal = "IEEE Computer",
year = 1981,
volume = 14,
number = 3,
pages = "70--74",
month = Mar
}
@Article{Coonen81,
author = "Jerome T. Coonen",
title = "Underflow and the Denormalized Numbers",
journal = "IEEE Computer",
year = 1981,
volume = 14,
number = 3,
pages = "75--87",
month = Mar
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ETC
%
@Book{RichW86,
title = "Readings in Artificial Intelligence and Software Engineering",
publisher = "Morgan Kaufmann",
year = "1986",
editor = "Charles Rich and Richard C. Waters",
address = "Los Altos, CA"
}
@TechReport{FerranteM84,
author = "Jeanne Ferrante and Mary Mace",
title = "On linearizing parallel code",
institution = "IBM T. J. Watson Research Center",
year = 1984,
type = "Computer Science",
number = "RC 10926 (\#48479)",
address = "Yorktown Heights, NY 10598",
month = nov # "~5,"
}
@InProceedings{AgarwalLKK90,
author = "Anant Agarwal and Beng-Hong Lim and David Kranz and John
Kubiatowicz",
title = "{APRIL}: A Processor Architecture for Multiprocessing",
booktitle = "Proceedings, 17th Annual International Symposium on
Computer Architecture",
pages = "104--114",
year = 1990,
address = "Seattle, Washington",
month = May
}
@TechReport{ChaikenLN90,
author = "David Chaiken and Beng-Hong Lim and Dan Nussbaum",
title = "{ASIM} Users Manual",
institution = MITLCS,
year = 1990,
type = "Alewife Systems Memo",
number = 13,
address = "Cambridge, Massachusetts",
month = Aug,
note = "9 pages; revised November 26, 1991."
}
@TechReport{Nussbaum91,
author = "Dan Nussbaum",
title = "{ASIM} Reference Manual",
institution = MITLCS,
year = 1991,
type = "Alewife Systems Memo",
number = 28,
address = "Cambridge, Massachusetts",
month = Jan,
note = "17 pages; revised November 26, 1991."
}
@InProceedings{BradyY92,
author = "Martin L. Brady and Whanki Yong",
title = "Parallel discrete approximation algorithms for the
{Radon} transform",
booktitle = "Proceedings of SPAA '92: The 4th Annual ACM Symposium on
Parallel Algorithms and Architectures",
pages = "91--99",
year = 1992,
address = "San Diego, California",
month = Jun # "~29--" # Jul # "~1,"
}
@Manual{Johnson91,
title = "Using the {LALR} parser generator",
author = "Kirk Johnson",
year = 1991,
month = Sep # "~19,",
note = "Documentation version 0.9."
}
@Misc{Horwat92p,
author = "Waldemar Horwat",
howpublished = "Personal communication",
year = 1992
}
@Manual{GNUEmacsLisp,
title = "{GNU} Emacs Lisp Reference Manual",
author = "Bil Lewis and Dan LaLiberte and {the GNU Manual Group}",
organization = "Free Software Foundation",
address = "Cambridge, Massachusetts",
year = 1990,
month = Dec,
note = "Version 1.03"
}
@Misc{ZawinskiF92,
author = "Jamie Zawinski and Hallvard Furuseth",
title = "Compilation of {Lisp} code into byte code",
howpublished = "{\tt bytecomp.el}",
year = 1992,
month = Mar # "~9,",
note = "Version 2.05"
}
@Manual{LaLiberte92,
title = "Edebug User Manual: A Source Level Debugger for {GNU
Emacs Lisp}",
author = "Daniel LaLiberte",
year = 1992,
month = Mar,
note = "Edition 1.2"
}
@InCollection{AllenC72,
author = "F. E. Allen and J. Cocke",
title = "A Catalogue of Optimizing Transformations",
booktitle = "Design and Optimization of Compilers",
publisher = "Prentice-Hall",
editor = "R. Rustin",
year = 1972,
pages = "1--30",
address = "Englewood Cliffs, New Jersey"
}
@TechReport{StandishHKN76,
author = "T. A. Standish and D. C. Harriman and D. F. Kilber
and J. M. Neighbors",
title = "The {I}rvine Program Transformation Catalogue",
institution = "University of California at Irvine",
year = "1976",
number = "161",
address = "Department of Information and Computer Science",
month = Jan
}
@Misc{Steele92p,
author = "Guy L. {Steele Jr.}",
howpublished = "Personal communication",
year = 1992
}