2009
DOI: 10.1007/978-3-642-03237-0_6
|View full text |Cite
|
Sign up to set email alerts
|

Automatic Parallelization and Optimization of Programs by Proof Rewriting

Abstract: Abstract. We show how, given a program and its separation logic proof, one can parallelize and optimize this program and transform its proof simultaneously to obtain a proven parallelized and optimized program. To achieve this goal, we present new proof rules for generating proof trees and a rewrite system on proof trees.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
5

Citation Types

0
5
0

Year Published

2009
2009
2017
2017

Publication Types

Select...
4
2

Relationship

1
5

Authors

Journals

citations
Cited by 9 publications
(5 citation statements)
references
References 31 publications
0
5
0
Order By: Relevance
“…These internal dependencies can be used to inject safe parallelism. This insight is due to Raza et al [2009], Cook et al [2010], and Hurlin [2009], both of which propose parallelization analyses based on separation logic. The analyses proposed in these papers are much more conservative than ours, in that they discover independence which already exists between commands of the program.…”
Section: Related Work In Detailmentioning
confidence: 93%
See 1 more Smart Citation
“…These internal dependencies can be used to inject safe parallelism. This insight is due to Raza et al [2009], Cook et al [2010], and Hurlin [2009], both of which propose parallelization analyses based on separation logic. The analyses proposed in these papers are much more conservative than ours, in that they discover independence which already exists between commands of the program.…”
Section: Related Work In Detailmentioning
confidence: 93%
“…They do not insert synchronization constructs, and consequently cannot enforce sequential dependencies among concurrent computations that share and modify state. Indeed, Raza et al [2009] do not consider any program transformations, since the goal of that work is to identify memory separation of different commands, while Hurlin [2009] expresses optimizations as reordering rewrites on proof trees. Bell et al [2009] construct a proof of an already-transformed multithreaded program parallelized by the DSWP transformation [Ottoni et al 2005].…”
Section: Related Work In Detailmentioning
confidence: 99%
“…These internal dependencies can be used to inject safe parallelism. This insight is due to [13,31] and [24], both of which propose parallelization analyses based on separation logic. The analyses proposed in these papers are much more conservative than ours, in that they discover independence which already exists between commands of the program.…”
Section: Related Workmentioning
confidence: 99%
“…They do not insert synchronization constructs, and consequently cannot enforce sequential dependencies among concurrent computations that share and modify state. Indeed, [31] does not consider any program transformations, since the goal of that work is to identify memory separation of different commands, while [24] expresses optimizations as reordering rewrites on proof trees.…”
Section: Related Workmentioning
confidence: 99%
“…Hurlin shows how to parallelize a sequential program's proof, using rewrite rules on its derivation tree, for the DOALL optimization [7]. We demonstrate how to prove a DSWP-parallelized program without using the proof's derivation tree, but we assume a proof structure that may not characterize all proofs.…”
Section: Related Workmentioning
confidence: 99%