#### Filter Results:

- Full text PDF available (9)

#### Publication Year

2008

2015

- This year (0)
- Last 5 years (2)
- Last 10 years (10)

#### Publication Type

#### Co-author

#### Journals and Conferences

Learn More

- Keshav Pingali, Donald Nguyen, +9 authors Xin Sui
- PLDI
- 2011

For more than thirty years, the parallel programming community has used the <i>dependence graph</i> as the main abstraction for reasoning about and exploiting parallelism in "regular" algorithms that use dense arrays, such as finite-differences and FFTs. In this paper, we argue that the dependence graph is not a suitable abstraction for algorithms in newâ€¦ (More)

Speculative execution is a promising approach for exploiting parallelism in many programs, but it requires efficient schemes for detecting conflicts between concurrently executing threads. Prior work has argued that checking semantic commutativity of method invocations is the right way to detect conflicts for complex data structures such as kd-trees.â€¦ (More)

- Mario MÃ©ndez-Lojo, Donald Nguyen, +5 authors Keshav Pingali
- PPOPP
- 2010

Irregular algorithms are organized around pointer-based data structures such as graphs and trees, and they are ubiquitous in applications. Recent work by the Galois project has provided a systematic approach for parallelizing irregular applications based on the idea of optimistic or speculative execution of programs. However, the overhead of optimisticâ€¦ (More)

- Dimitrios Prountzos, Roman Manevich, Keshav Pingali
- OOPSLA
- 2012

Algorithms in new application areas like machine learning and network analysis use "irregular" data structures such as graphs, trees and sets. Writing efficient parallel code in these problem domains is very challenging because it requires the programmer to make many choices: a given problem can usually be solved by several algorithms, each algorithm mayâ€¦ (More)

- Keshav Pingali, Milind Kulkarni, +5 authors Zifei Zhong
- 2009

Most client-side applications running on multicore processors are likely to be irregular programs that deal with complex, pointerbased data structures such as large sparse graphs and trees. However, we understand very little about the nature of parallelism in irregular algorithms, let alone how to exploit it effectively on multicore processors. In thisâ€¦ (More)

- Dimitrios Prountzos, Keshav Pingali
- PPOPP
- 2013

Betweenness centrality is an important metric in the study of social networks, and several algorithms for computing this metric exist in the literature. This paper makes three contributions. First, we show that the problem of computing betweenness centrality can be formulated abstractly in terms of a small set of <i>operators</i> that update the graph.â€¦ (More)

data type: an algebraic methodology for their specification. In MFDBS 89: Proceedings of the second symposium on Mathematical fundamentals of database systems, pages 53â€“67, New York, NY,<lb>USA, 1989. Springer-Verlag New York, Inc. [3] Brian D. Carlstrom, Austen McDonald, Hassan Chafi, JaeWoong<lb>Chung, Chi Cao Minh, Christos Kozyrakis, and Kunle Olukotun.â€¦ (More)

Computations on unstructured graphs are challenging to parallelize because dependences in the underlying algorithms are usually complex functions of runtime data values, thwarting static parallelization. One promising general-purpose parallelization strategy for these algorithms is optimistic parallelization.
This paper identifies the optimization ofâ€¦ (More)

- Dimitrios Prountzos, Roman Manevich, Keshav Pingali
- PLDI
- 2015

We describe a system that uses automated planning to synthesize correct and efficient parallel graph programs from high-level algorithmic specifications. Automated planning allows us to use constraints to declaratively encode program transformations such as scheduling, implementation selection, and insertion of synchronization. Each plan emitted by theâ€¦ (More)

Irregular applications, i.e., programs that manipulate pointer-based data structures such as graphs and trees, constitute a challenging target for parallelization because the amount of parallelism is input dependent and changes dynamically. Traditional dependence analysis techniques are too conservative to expose this parallelism. Even manualâ€¦ (More)

- â€¹
- 1
- â€º