Ganesh Bikshandi, Guo Jia, et al.
PPoPP 2006
Implicit Parallelism with Ordered Transactions (IPOT) is an extension of sequential or explicitly parallel programming models to support speculative parallelization. The key idea is to specify opportunities for parallelization in a sequential program using annotations similar to transactions. Unlike explicit parallelism, IPOT annotations do not require the absence of data dependence, since the parallelization relies on runtime support for speculative execution. IPOT as a parallel programming model is determinate, i.e., program semantics are independent of the thread scheduling. For optimization, non-determinism can be introduced selectively. We describe the programming model of IPOT and an online tool that recommends boundaries of ordered transactions by observing a sequential execution. On three example HPC workloads we demonstrate that our method is effective in identifying opportunities for fine-grain parallelization. Using the automated task recommendation tool, we were able to perform the parallelization of each program within a few hours. Copyright © 2007 ACM.
Ganesh Bikshandi, Guo Jia, et al.
PPoPP 2006
Christoph Von Praun, Harold W. Cain, et al.
ISCA 2006
Michael F. Spear, Maged M. Michael, et al.
SPAA 2008
Philippe Charles, Christian Grothoff, et al.
OOPSLA 2005