The Pensieve project aims at providing programmers
a virtualized memory consistency model -
i.e. a memory consistency model that is not
necessarily the same as that provided by
the underlying hardware, and to make it possible
for the programmer to specify what that consistency
model should be. Moreover, the Pensieve compiler
aims to do this while still providing good
X. Fang. Inserting fences to guarantee sequential consistency. Master's thesis, Department of Computer Science and Engineering, Michigan State University, 2002.
Z. Sura, C.-L. Wong, X. Fang, J. Lee, S. P. Midkiff, and D. Padua, Automatic Implementation of Programming Language Consistency Models, 15th Workshop on Languages and Compilers for Parallel Computing (LCPC), July 2002.
S. Midkiff, J. Lee, and D. Padua. A compiler for multiple memory models. Concurrency, Practice and Experience, 2002. Accepted, to appear
P. Wu, P. Feautrier, D. Padua, and Z. Sura. Instance-wise Points-to Analysis for Loop-based Dependence Testing. Internation Conference on Supercomputing, June 2002.
C.-L. Wong, Z. Sura, X. Fang, J. Lee, S. P. Midkiff, and D. Padua, The Pensieve Project: A Compiler Infrastructure for Memory Models, International Symposium on Parallel Architectures, Algorithms, and Networks (ISPAN), 2002
Lee and Padua, Hiding Relaxed Memory Consistency with a Compiler, IEEE Transaction on Computer, August 2001
Lee, Padua, Midkiff Basic Compilation Techniques for Explicitly Parallel Programs, TOPLAS (submitted)
Lee and Padua, Hiding Relaxed Memory Consistency with Compilers, The IEEE International Conference on Parallel Architectures and Compilation Techniques (PACT 2000), Philadelphia, Pensilvania, pp. 111--122, October 2000
J. Lee, D. Padua, and S. P. Midkiff, Basic Compiler Algorithms for Parallel Programs, The 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 1999), May 1999
Jaejin Lee, Samuel P. Midkiff, and David A. Padua. Concurrent static single assignment form and constant propagation for explicitly parallel programs. The 10th International Workshop on Languages and Compilers for Parallel Computing (LCPC,Lecture Notes in Computer Science 1366, Springer-Verlag), pp 114--130, Twin Cities, Minnesota, August 1997