Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Mario Méndez-Lojo

dblp:m/MarioMendezLojo · DBLP profile ↗
← Back
7ranked-venue papers
5as first author
0since 2021 · last 2012
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 3 first-authorSystems, architecture and hardware · 2 · 2 first-authorTheory of computation · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Parallel and multicore computing · 61% GPUs and heterogeneous computing · 19% Hardware accelerators and domain-specific architectures · 19%
Software engineering, system software, and programming languages
2 papers
Program analysis · 100%
Theoretical computer science
1 paper
Graph algorithms and graph theory · 100%

Topics — the 9 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis › static analysis › pointer analysis
inclusion-based points-to analysis
0.322012
A GPU implementation of inclusion-based points-to analysis · PPoPP 2012
Parallel inclusion-based points-to analysis · OOPSLA 2010
Program analysis › static analysis
pointer analysis
0.322012
A GPU implementation of inclusion-based points-to analysis · PPoPP 2012
Parallel inclusion-based points-to analysis · OOPSLA 2010
GPUs and heterogeneous computing
GPU computing
0.112012
A GPU implementation of inclusion-based points-to analysis · PPoPP 2012
Hardware accelerators and domain-specific architectures
irregular application acceleration
0.112012
A GPU implementation of inclusion-based points-to analysis · PPoPP 2012
Parallel and multicore computing
parallel programming models
0.112011
The tao of parallelism in algorithms · PLDI 2011
Parallel and multicore computing › parallel algorithms
irregular algorithms
0.112010
Structure-driven optimizations for amorphous data-parallel programs · PPoPP 2010
Parallel and multicore computing › parallel computing
parallel program analysis
0.112010
Parallel inclusion-based points-to analysis · OOPSLA 2010
Parallel and multicore computing
speculative parallelization
0.112010
Structure-driven optimizations for amorphous data-parallel programs · PPoPP 2010
Machine learning › Graph learning
graph algorithms
0.012011
The tao of parallelism in algorithms · PLDI 2011

Methods — techniques the papers use, named apart from their topics

dependence graph analysis · 0.4GPU parallelism · 0.3graph rewriting · 0.2amorphous data-parallelism · 0.2speculative execution · 0.1optimistic execution · 0.1
YearPublicationVenuePosition
2012 A GPU implementation of inclusion-based points-to analysis
abstract
Graphics Processing Units (GPUs) have emerged as powerful accelerators for many regular algorithms that operate on dense arrays and matrices. In contrast, we know relatively little about using GPUs to accelerate highly irregular algorithms that operate on pointer-based data structures such as graphs. For the most part, research has focused on GPU implementations of graph analysis algorithms that do not modify the structure of the graph, such as algorithms for breadth-first search and strongly-connected components.
Mario Méndez-Lojo, Martin Burtscher, Keshav Pingali
PPoPP1
2011 The tao of parallelism in algorithms
abstract
For more than thirty years, the parallel programming community has used the dependence graph 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 application areas like machine learning and network analysis in which the key data structures are "irregular" data structures like graphs, trees, and sets.
Keshav Pingali, Donald Nguyen, Milind Kulkarni 0001, Martin Burtscher, Muhammad Amber Hassaan, Rashid Kaleem, Tsung-Hsien Lee, Andrew Lenharth, Roman Manevich, Mario Méndez-Lojo, Dimitrios Prountzos
PLDI10
2010 Parallel inclusion-based points-to analysis
abstract
Inclusion-based points-to analysis provides a good trade-off between precision of results and speed of analysis, and it has been incorporated into several production compilers including gcc. There is an extensive literature on how to speed up this algorithm using heuristics such as detecting and collapsing cycles of pointer-equivalent variables. This paper describes a complementary approach based on exploiting parallelism. Our implementation exploits two key insights. First, we show that inclusion-based points-to analysis can be formulated entirely in terms of graphs and graph rewrite rules. This exposes the amorphous data-parallelism in this algorithm and makes it easier to develop a parallel implementation. Second, we show that this graph-theoretic formulation reveals certain key properties of the algorithm that can be exploited to obtain an efficient parallel implementation. Our parallel implementation achieves a scaling of up to 3x on a 8-core machine for a suite of ten large C programs. For all but the smallest benchmarks, the parallel analysis outperforms a state-of-the-art, highly optimized, serial implementation of the same algorithm. To the best of our knowledge, this is the first parallel implementation of a points-to analysis.
Mario Méndez-Lojo, Augustine Mathew, Keshav Pingali
OOPSLA1
2010 Structure-driven optimizations for amorphous data-parallel programs
abstract
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 parallel execution can be substantial. In this paper, we show that many irregular algorithms have structure that can be exploited and present three key optimizations that take advantage of algorithmic structure to reduce speculative overheads. We describe the implementation of these optimizations in the Galois system and present experimental results to demonstrate their benefits. To the best of our knowledge, this is the first system to exploit algorithmic structure to optimize the execution of irregular programs.
Mario Méndez-Lojo, Donald Nguyen, Dimitrios Prountzos, Muhammad Amber Hassaan, Milind Kulkarni 0001, Martin Burtscher, Keshav Pingali
PPoPP1
2008 Sharing analysis of arrays, collections, and recursive structures
abstract
Precise modeling of the program heap is fundamental for understanding the behavior of a program, and is thus of significant interest for many optimization applications. One of the fundamental properties of the heap that can be used in a range of optimization techniques is the sharing relationships between the elements in an array or collection. If an analysis can determine that the memory locations pointed to by different entries of an array (or collection) are disjoint, then in many cases loops that traverse the array can be vectorized or transformed into a thread-parallel version. This paper introduces several novel sharing properties over the concrete heap and corresponding abstractions to represent them. In conjunction with an existing shape analysis technique, these abstractions allow us to precisely resolve the sharing relations in a wide range of heap structures (arrays, collections, recursive data structures, composite heap structures) in a computationally efficient manner. The effectiveness of the approach is evaluated on a set of challenge problems from the JOlden and SPECjvm98 suites. Sharing information obtained from the analysis is used to achieve substantial thread-level parallel speedups.
Mark Marron, Mario Méndez-Lojo, Manuel V. Hermenegildo, Darko Stefanovic, Deepak Kapur
PASTE2
2008 Precise Set Sharing Analysis for Java-Style Programs
Mario Méndez-Lojo, Manuel V. Hermenegildo
VMCAI1
2007 A Flexible, (C)LP-Based Approach to the Analysis of Object-Oriented Programs
Mario Méndez-Lojo, Jorge A. Navas, Manuel V. Hermenegildo
LOPSTR1