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. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Duane Merrill

dblp:55/2912 · DBLP profile ↗
← Back
10ranked-venue papers
6as first author
1since 2021 · last 2023
—ORCID · none

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

Systems, architecture and hardware · 10 · 6 first-author · 1 since 2021

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
5 papers
High-performance computing · 36% GPUs and heterogeneous computing · 33% Parallel and multicore computing · 27%

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

TopicWeightPapersLastEvidence papers
High-performance computing › numerical linear algebra
dense matrix multiplication
0.712023
Stream-K: Work-Centric Parallel Decomposition for Dense Matrix-Matrix Multiplication on the GPU · PPoPP 2023
GPUs and heterogeneous computing
GPU kernel optimization
0.712023
Stream-K: Work-Centric Parallel Decomposition for Dense Matrix-Matrix Multiplication on the GPU · PPoPP 2023
Parallel and multicore computing › parallelization strategies
parallel decomposition
0.712023
Stream-K: Work-Centric Parallel Decomposition for Dense Matrix-Matrix Multiplication on the GPU · PPoPP 2023
High-performance computing › sparse linear algebra › sparse matrix computation
sparse matrix-vector multiplication
0.522016
Merge-based parallel sparse matrix-vector multiplication · SC 2016
Merge-based sparse matrix-vector multiplication (SpMV) using the CSR storage format · PPoPP 2016
GPUs and heterogeneous computing › GPU computing
GPU sparse computation
0.212016
Merge-based sparse matrix-vector multiplication (SpMV) using the CSR storage format · PPoPP 2016
GPUs and heterogeneous computing › GPU computing › GPU sparse computation
GPU sparse matrix-vector multiplication
0.212016
Merge-based parallel sparse matrix-vector multiplication · SC 2016
High-performance computing
sparse linear algebra
0.212016
Merge-based sparse matrix-vector multiplication (SpMV) using the CSR storage format · PPoPP 2016
Parallel and multicore computing › parallel algorithms › graph algorithms
breadth-first search
0.112012
Scalable GPU graph traversal · PPoPP 2012
GPUs and heterogeneous computing
GPU graph processing
0.112012
Scalable GPU graph traversal · PPoPP 2012
Parallel and multicore computing › graph processing
graph traversal
0.112012
Scalable GPU graph traversal · PPoPP 2012
Memory systems
memory hierarchy
0.112016
Merge-based parallel sparse matrix-vector multiplication · SC 2016
Parallel and multicore computing › parallel algorithms
parallel sparse computation
0.112016
Merge-based sparse matrix-vector multiplication (SpMV) using the CSR storage format · PPoPP 2016
Distributed systems
grid computing
0.112006
Summary: Integration of Legacy Grid Systems with Emerging Grid Standards · HPDC 2006
Parallel and multicore computing › parallel algorithms
irregular algorithms
0.012012
Scalable GPU graph traversal · PPoPP 2012
Distributed systems
service-oriented architecture
0.012006
Summary: Integration of Legacy Grid Systems with Emerging Grid Standards · HPDC 2006

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

tile-based decomposition · 0.7inner loop partitioning · 0.7merge-based parallel decomposition · 0.2CSR format · 0.22d merge-based decomposition · 0.2scalable GPU traversal · 0.1
YearPublicationVenuePosition
2023 Stream-K: Work-Centric Parallel Decomposition for Dense Matrix-Matrix Multiplication on the GPU
abstract
We introduce Stream-K, a work-centric parallelization of matrix multiplication (GEMM) and related computations in dense linear algebra. Whereas contemporary decompositions are primarily tile-based, our method operates by partitioning an even share of the aggregate inner loop iterations among physical processing elements. This provides a near-perfect utilization of computing resources, regardless of how efficiently the output tiling for any given problem quantizes across the underlying processing elements.
Muhammad Osama 0002, Duane Merrill, Cris Cecka, Michael Garland, John D. Owens
PPoPP2
2016 Merge-based sparse matrix-vector multiplication (SpMV) using the CSR storage format
abstract
We present a perfectly balanced, "merge-based" parallel method for computing sparse matrix-vector products (SpMV). Our algorithm operates directly upon the Compressed Sparse Row (CSR) sparse matrix format, a predominant in-memory representation for general-purpose sparse linear algebra computations. Our CsrMV performs an equitable multi-partitioning of the input dataset, ensuring that no single thread can be overwhelmed by assignment to (a) arbitrarily-long rows or (b) an arbitrarily-large number of zero-length rows. This parallel decomposition requires neither offline preprocessing nor specialized/ancillary data formats. We evaluate our method on both CPU and GPU microarchitecture across an enormous corpus of diverse real world matrix datasets. We show that traditional CsrMV methods are inconsistent performers subject to order-of-magnitude slowdowns, whereas the performance response of our method is substantially impervious to row-length heterogeneity.
Duane Merrill, Michael Garland
PPoPP1
2016 Merge-based parallel sparse matrix-vector multiplication
abstract
We present a strictly balanced method for the parallel computation of sparse matrix-vector products (SpMV). Our algorithm operates directly upon the Compressed Sparse Row (CSR) sparse matrix format without preprocessing, inspection, reformatting, or supplemental encoding. Regardless of nonzero structure, our equitable 2D merge-based decomposition tightly bounds the workload assigned to each processing element. Furthermore, our technique is suitable for recursively partitioning CSR datasets themselves into multi-scale, distributed, NUMA, and GPU environments that are constrained by fixed-size local memories. We evaluate our method on both CPU and GPU microarchitectures across a very large corpus of diverse sparse matrix datasets. We show that traditional CsrMV methods are inconsistent performers, often subject to order-of-magnitude performance variation across similarly-sized datasets. In comparison, our method provides predictable performance that is substantially uncorrelated to the distribution of nonzeros among rows and broadly improves upon that of current CsrMV methods.
Duane Merrill, Michael Garland
SC1
2015 Parallel Methods for Verifying the Consistency of Weakly-Ordered Architectures
abstract
Contemporary microprocessors use relaxed memory consistency models to allow for aggressive optimizations in hardware. This enhancement in performance comes at the cost of design complexity and verification effort. In particular, verifying an execution of a program against its system's memory consistency model is an NP-complete problem. Several graph-based approximations to this problem based on carefully constructed randomized test programs have been proposed in the literature, however, such approaches are sequential and execute slowly on large graphs of interest. Unfortunately, the ability to execute larger tests is tremendously important, since such tests enable one to expose bugs more quickly. Successfully executing more tests per unit time is also desirable, since it allows for one to check for a greater variety of errors in the memory subsystem by utilizing a more diverse set of tests. This paper improves upon existing work by introducing an algorithm that not only reduces the time complexity of the verification process, but also facilitates the development of parallel algorithms for solving these problems. We first show performance improvements from a sequential approach and gain further performance from parallel implementations in OpenMP and CUDA. For large tests of interest, our GPU implementation achieves an average application speedup of 26.36x over existing techniques in use at NVIDIA.
Adam McLaughlin, Duane Merrill, Michael Garland, David A. Bader
PACT2
2015 Optimizing Sparse Matrix Operations on GPUs Using Merge Path
abstract
Irregular computations on large workloads are a necessity in many areas of computational science. Mapping these computations to modern parallel architectures, such as GPUs, is particularly challenging because the performance often depends critically on the choice of data-structure and algorithm. In this paper, we develop a parallel processing scheme, based on Merge Path partitioning, to compute segmented row-wise operations on sparse matrices that exposes parallelism at the granularity of individual nonzero entries. Our decomposition achieves competitive performance across many diverse problems while maintaining predictable behaviour dependent only on the computational work and ameliorates the impact of irregularity. We evaluate the performance of three sparse kernels: Spiv, Spaded and Sperm. We show that our processing scheme for each kernel yields comparable performance to other schemes in many cases and our performance is highly correlated, nearly 1, to the computational work irrespective of the underlying structure of the matrices.
Steven Dalton, Sean Baxter, Duane Merrill, Luke N. Olson, Michael Garland
IPDPS3
2012 Scalable GPU graph traversal
abstract
Breadth-first search (BFS) is a core primitive for graph traversal and a basis for many higher-level graph analysis algorithms. It is also representative of a class of parallel computations whose memory accesses and work distribution are both irregular and data-dependent. Recent work has demonstrated the plausibility of GPU sparse graph traversal, but has tended to focus on asymptotically inefficient algorithms that perform poorly on graphs with non-trivial diameter.
Duane Merrill, Michael Garland, Andrew S. Grimshaw
PPoPP1
2010 Revisiting sorting for GPGPU stream architectures
abstract
This poster presents efficient strategies for sorting large sequences of fixed-length keys (and values) using GPGPU stream processors. Compared to the state-of-the-art, our radix sorting methods exhibit speedup of at least 2x for all generations of NVIDIA GPGPUs, and up to 3.7x for current GT200-based models. Our implementations demonstrate sorting rates of 482 million key-value pairs per second, and 550 million keys per second (32-bit). For this domain of sorting problems, we believe our sorting primitive to be the fastest available for any fully-programmable microarchitecture.
Duane Merrill, Andrew S. Grimshaw
PACT1
2009 Profiles for conveying the secure communication requirements of Web services
abstract
Abstract A fundamental theme of the services‐oriented Grid paradigm is the collaboration of participants from different administrative and security domains. As such, constructing meaningful, interoperable security that brokers interorganizational trust as well as token syntax and semantics is crucial for fostering Grid adoption and buy‐in. This is a lofty goal that must be tackled together by standards communities, middleware and platform software architects, and domain administrators. A crucial first step toward realizing this goal is the ability to normatively describe the secure communication requirements that affect message format. As such, we present two new OGF security profiles that provide guidance for the expression and conveyance of secure communication requirements. The Secure Communication Profile 1.0 is a refinement of the WS‐SecurityPolicy specification. The goals of this profile are to impose more restrictive conformance requirements on the WS‐Security mechanisms described by WS‐SecurityPolicy assertions, to facilitate key distribution and policy timestamping, and to profile normative ‘well‐known’ policy documents that identify commonly used security mechanisms. The Secure Addressing Profile 1.0 refines the WS‐Addressing specification in order to profile the inclusion of security policy within endpoint references (EPRs). This approach of conveying security policy within EPRs is well suited to the Grid paradigms of stateful Web service resources and factory patterns. Copyright © 2009 John Wiley & Sons, Ltd.
Duane Merrill, Andrew S. Grimshaw
Concurr. Comput. Pract. Exp.1
2008 Trace fragment selection within method-based JVMs
abstract
Java virtual machines have historically employed either a "wholemethod" or a "trace" methodology for selecting regions of code for optimization. Adaptive whole-method optimization primarily leverages intra-procedural optimizations derived from classic static compilation techniques whereas trace optimization utilizes an interpreter to select, manage, and dispatch inter-procedural fragments of frequently executed code.
Duane Merrill, Kim M. Hazelwood
VEE1
2006 Summary: Integration of Legacy Grid Systems with Emerging Grid Standards
abstract
The open grid services architecture (OGSA) addresses the need for standardization of diverse grid services by defining a set of core capabilities and behaviors needed by loosely coupled, service-oriented grid architectures. These OGSA standards and interfaces are based on ubiquitous, platform-neutral, technologies like SOAP, XML, and Web services. This paper briefly describes our OGSA proxy implementation that interconnects legacy Legion grids with grids that support the emerging OGSA specifications. Specifically we have constructed proxy services that support OGSA-ByteIO, WS-Directory, and WS-Naming
Andrew S. Grimshaw, Woochul Kang, Duane Merrill, Mark M. Morgan
HPDC3