Demo Data from SIGIR 2026 / reviewers in the wild / expert
Richard W. Vuduc
dblp:v/RVuduc · also Rich Vuduc
· DBLP profile ↗
87ranked-venue papers
3as first author
18since 2021 · last 2025
0000-0003-2178-138XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 65 · 3 first-author · 12 since 2021Databases, data management, data science and information retrieval · 11 · 5 since 2021Artificial intelligence and machine learning · 10 · 5 since 2021Software engineering, systems software and programming languages · 8Applied, interdisciplinary, general and emerging computing · 7 · 4 since 2021Theory of computation · 1 · 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
27 papers |
High-performance computing · 33% Parallel and multicore computing · 28% GPUs and heterogeneous computing · 13% | |
| Artificial intelligence
1 paper |
Graph learning · 50% Efficient and distributed learning · 50% | |
| Theoretical computer science
2 papers |
Graph algorithms and graph theory · 46% Algorithmic game theory and mechanism design · 40% Mathematical optimization · 14% | |
| Databases, data mining, and information retrieval
7 papers |
Data mining · 89% Knowledge graphs · 10% Recommender systems · 2% | |
| Software engineering, system software, and programming languages
6 papers |
Debugging and program repair · 41% Compilers and program optimization · 28% Programming languages and type systems · 16% |
Topics — the 30 heaviest of 85, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing › parallel algorithms › graph algorithms
all-pairs shortest paths |
1.5 | 3 | 2022 | Exaflops Biomedical Knowledge Graph Analytics · SC 2022 Scalable All-pairs Shortest Paths for Huge Graphs on Multi-GPU Clusters · HPDC 2021 Scalable knowledge graph analytics at 136 petaflop/s · SC 2020 |
Parallel and multicore computing
graph processing |
1.0 | 2 | 2022 | Exaflops Biomedical Knowledge Graph Analytics · SC 2022 Scalable knowledge graph analytics at 136 petaflop/s · SC 2020 |
GPUs and heterogeneous computing
GPU computing |
0.9 | 6 | 2022 | Scalable knowledge graph analytics at 136 petaflop/s · SC 2020 Critique of "MemXCT: Memory-Centric X-Ray CT Reconstruction With Massive Parallelization" by SCC Team From Georgia Tech · IEEE Trans. Parallel Distributed Syst. 2022 Many-Thread Aware Prefetching Mechanisms for GPGPU Applications · MICRO 2010 |
Data mining › multidimensional data analysis › multiway data analysis › tensor analysis
tensor factorization |
0.8 | 3 | 2018 | SUSTain: Scalable Unsupervised Scoring for Tensors and its Application to Phenotyping · KDD 2018 SPARTan: Scalable PARAFAC2 for Large & Sparse Data · KDD 2017 Sparse Hierarchical Tucker Factorization and Its Application to Healthcare · ICDM 2015 |
High-performance computing
scientific computing systems |
0.8 | 5 | 2018 | HiCOO: hierarchical storage of sparse tensors · SC 2018 An input-adaptive and in-place approach to dense tensor-times-matrix multiply · SC 2015 Optimizing the computation of n-point correlations on large-scale astronomical data · SC 2012 |
Algorithmic game theory and mechanism design
influence maximization |
0.8 | 1 | 2024 | Asynchronous Distributed-Memory Parallel Algorithms for Influence Maximization · SC 2024 |
High-performance computing
performance optimization at scale |
0.7 | 3 | 2021 | Scalable All-pairs Shortest Paths for Huge Graphs on Multi-GPU Clusters · HPDC 2021 Petascale Direct Numerical Simulation of Blood Flow on 200K Cores and Heterogeneous Architectures · SC 2010 Optimization of sparse matrix-vector multiplication on emerging multicore platforms · SC 2007 |
Parallel and multicore computing › parallel algorithms
distributed-memory parallel algorithms |
0.7 | 2 | 2024 | Scalable knowledge graph analytics at 136 petaflop/s · SC 2020 Asynchronous Distributed-Memory Parallel Algorithms for Influence Maximization · SC 2024 |
Performance modeling and evaluation
analytical modeling |
0.7 | 1 | 2023 | Calculon: a methodology and tool for high-level co-design of systems and large language models · SC 2023 |
Machine learning › Graph learning
graph neural network |
0.6 | 1 | 2022 | Nimble GNN Embedding with Tensor-Train Decomposition · KDD 2022 |
Machine learning › Efficient and distributed learning
model compression |
0.6 | 1 | 2022 | Nimble GNN Embedding with Tensor-Train Decomposition · KDD 2022 |
Machine learning › Graph learning
network embedding |
0.6 | 1 | 2022 | Nimble GNN Embedding with Tensor-Train Decomposition · KDD 2022 |
Machine learning › Efficient and distributed learning › model compression › low-rank approximation
tensor-train decomposition |
0.6 | 1 | 2022 | Nimble GNN Embedding with Tensor-Train Decomposition · KDD 2022 |
Performance modeling and evaluation
benchmarking |
0.6 | 1 | 2022 | Critique of "MemXCT: Memory-Centric X-Ray CT Reconstruction With Massive Parallelization" by SCC Team From Georgia Tech · IEEE Trans. Parallel Distributed Syst. 2022 |
Distributed systems › communication optimization
communication-computation overlap |
0.5 | 1 | 2021 | Scalable All-pairs Shortest Paths for Huge Graphs on Multi-GPU Clusters · HPDC 2021 |
GPUs and heterogeneous computing › multi-GPU computing
GPU cluster |
0.5 | 1 | 2021 | Scalable All-pairs Shortest Paths for Huge Graphs on Multi-GPU Clusters · HPDC 2021 |
GPUs and heterogeneous computing
GPU graph processing |
0.5 | 1 | 2021 | Scalable All-pairs Shortest Paths for Huge Graphs on Multi-GPU Clusters · HPDC 2021 |
High-performance computing
large-scale graph processing |
0.5 | 1 | 2021 | Scalable All-pairs Shortest Paths for Huge Graphs on Multi-GPU Clusters · HPDC 2021 |
High-performance computing › performance optimization
auto-tuning |
0.4 | 2 | 2018 | Autotuning in High-Performance Computing Applications · Proc. IEEE 2018 Model-driven autotuning of sparse matrix-vector multiply on GPUs · PPoPP 2010 |
Memory systems
cache |
0.4 | 2 | 2018 | HiCOO: hierarchical storage of sparse tensors · SC 2018 Many-Thread Aware Prefetching Mechanisms for GPGPU Applications · MICRO 2010 |
Compilers and program optimization
code generation |
0.4 | 1 | 2020 | Automatic Generation of High-Performance FFT Kernels on Arm and X86 CPUs · IEEE Trans. Parallel Distributed Syst. 2020 |
Parallel and multicore computing › parallel architecture
distributed-memory parallel computing |
0.4 | 1 | 2020 | Distributed-memory parallel symmetric nonnegative matrix factorization · SC 2020 |
High-performance computing
fast fourier transform |
0.4 | 1 | 2020 | Automatic Generation of High-Performance FFT Kernels on Arm and X86 CPUs · IEEE Trans. Parallel Distributed Syst. 2020 |
High-performance computing
parallel numerical algorithms |
0.4 | 1 | 2020 | Distributed-memory parallel symmetric nonnegative matrix factorization · SC 2020 |
Graph algorithms and graph theory › shortest path
all-pairs shortest paths |
0.4 | 1 | 2020 | A supernodal all-pairs shortest path algorithm · PPoPP 2020 |
Graph algorithms and graph theory › graph algorithms › path problems
shortest path algorithms |
0.4 | 1 | 2020 | A supernodal all-pairs shortest path algorithm · PPoPP 2020 |
High-performance computing
performance optimization |
0.3 | 1 | 2018 | Autotuning in High-Performance Computing Applications · Proc. IEEE 2018 |
High-performance computing › performance engineering
performance portability |
0.3 | 1 | 2018 | Autotuning in High-Performance Computing Applications · Proc. IEEE 2018 |
Data mining › structured data mining
relational data mining |
0.3 | 2 | 2022 | Exaflops Biomedical Knowledge Graph Analytics · SC 2022 Scalable knowledge graph analytics at 136 petaflop/s · SC 2020 |
Data mining › multidimensional data analysis › multiway data analysis › tensor analysis › tensor factorization › irregular tensor decomposition
PARAFAC2 |
0.3 | 1 | 2017 | SPARTan: Scalable PARAFAC2 for Large & Sparse Data · KDD 2017 |
Methods — techniques the papers use, named apart from their topics
MPI · 1.6martingale · 1.5performance modeling · 1.4tropical semiring · 1.1tensor-train decomposition · 1.1hyperbolic performance modeling · 1.1hierarchical graph partitioning · 1.1tensor factorization · 1.1parameterized analytical performance model · 0.7matrix factorization · 0.7strong scaling analysis · 0.6performance testing · 0.6nested sampling · 0.4template-based code generation · 0.4symbolic analysis · 0.4supernodal traversal · 0.4semiring algebra · 0.4non-negative matrix factorization · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Fast Active-Set Thresholding Method for Nonnegative Least Squares
Benjamin Cobb, Ramakrishnan Kannan, Konstantin Pieper, Piyush Sao, Yongseok Soh, Jee W. Choi, Richard W. Vuduc, Haesun Park |
IEEE Big Data | 7 |
| 2025 | An Asynchronous Distributed-Memory Parallel Algorithm for $k$-Mer CountingabstractThis paper describes a new asynchronous algorithm and implementation for the problem of$\boldsymbol{k}$-mer counting$(\text{KC})$, which concerns quantifying the frequency of length$k$substrings in a DNA sequence. This operation is common to many computational biology workloads and can take up to 77 % of the total runtime of de novo genome assembly. The performance and scalability of the current state-of-the-art distributed-memory KC algorithm are hampered by multiple rounds of Many-To-Many collectives. Therefore, we develop an asynchronous algorithm (DAKC) that uses fine-grained, asynchronous messages to obviate most of this global communication while utilizing network bandwidth efficiently via custom message aggregation protocols. DAKC can perform strong scaling up to 256 nodes (512 sockets$/ 6 ~\mathrm{K}$cores) and can count$k$-mers up to$9 \times$faster than the state-of-the-art distributed-memory algorithm, and up to$100 \times$faster than the shared-memory alternative. We also provide an analytical model to understand the hardware resource utilization of our asynchronous KC algorithm and provide insights on the performance. Souvadra Hati, Akihiro Hayashi, Richard W. Vuduc |
IPDPS | 3 |
| 2025 | Brief Announcement: Optimality Conditions for Parallel Communication-Avoiding Matrix Multiplication with Overlapped CommunicationabstractWhen considering general matrix multiply (GEMM) algorithms for distributed-memory systems, the dominant paradigm is to minimize communication volume. However, to minimize time, one must consider how communication volume interacts with the system characteristics --- namely, communication bandwidth, memory capacity, and the co-scheduling of computation and communication. In this work, we demonstrate that the family of 3D GEMM algorithms --- although reducing overall communication by leveraging extra memory --- fundamentally concentrates communication to the phase of memory filling. This upfront cost hinders the ability to overlap communication with computation, and, consequently, calls for a revised view of the GEMM optimality regions. Our main contribution is derivation of optimality conditions for parallel matrix multiplication that jointly accounts for communication volume and overlap effects, pushing the 3D GEMM optimality region to start with the systems more than 11× larger than previously believed. Mikhail Isaev, Srinivas Eswar, Richard W. Vuduc |
SPAA | 3 |
| 2024 | Clustering and Topic Discovery of Multiway Data via Joint-NCMTFabstractNonnegative Matrix Factorization (NMF) and Nonnegative Coupled Matrix Tensor Factorization (NCMTF) are Constrained Low-Rank Approximation (CLRA) models which have found use in many applications. In particular, NMF and its variants have been shown to produce high-quality soft clustering and topic modeling results with the property that each clustering assignment relates to a corresponding topic; thereby providing insight into the nature of each item in a given cluster. However, NMF and its variants are unable to process heterogeneous data represented as one or more coupled tenors. Similarly, there do not exist tensorized methods which fully preserve the aforementioned desirable clustering and topic modeling properties of NMF. This paper develops a higher order analog of Joint-NMF, Joint Nonnegative Coupled Matrix Tensor Factorization (Joint-NCMTF), capable of factorizing heterogeneous tensor datasets whilst fully preserving these NMF properties. To accomplish this, we develop higher-order analogs of the entire NMF process, including crucial pre and post-processing steps. By incorporating additional dimensions of information present in datasets posed as coupled higher-order tensors, our proposed Joint-NCMTF method yields higher quality clustering and topic modeling results than methods which incorporate less information. We empirically demonstrate the effectiveness of our proposed method on multiple synthetic and two real-world topic modeling tasks. Benjamin Cobb, Ricardo Velasquez, Richard W. Vuduc, Haesun Park |
IEEE Big Data | 3 |
| 2024 | On Rank Selection for Nonnegative Matrix FactorizationabstractRank selection, i.e. the choice of factorization rank, is the first step in constructing Nonnegative Matrix Factorization (NMF) models. It is a long-standing problem which is not unique to NMF, but arises in most models which attempt to decompose data into its underlying components. Since these models are often used in the unsupervised setting, the rank selection problem is further complicated by the lack of ground truth labels. In this paper, we review and empirically evaluate the most commonly used schemes for NMF rank selection. Srinivas Eswar, Koby Hayashi, Benjamin Cobb, Ramakrishnan Kannan, Grey Ballard, Richard W. Vuduc, Haesun Park |
IEEE Big Data | 6 |
| 2024 | Asynchronous Distributed-Memory Parallel Algorithms for Influence MaximizationabstractInfluence maximization (IM) is the problem of finding the k most influential nodes in a graph. We propose distributed-memory parallel algorithms for the two main kernels of a state-of-the-art implementation of one IM algorithm, influence maximization via martingales (IMM). The baseline relies on a bulk-synchronous parallel approach and uses replication to reduce communication and achieve approximate load balance, at the cost of synchronization and high memory requirements. By contrast, our method fully distributes the data, thereby improving memory scalability, and uses fine-grained asynchronous parallelism to improve network utilization and the cost of doing more communication. We show our design and implementation can achieve up to $29.6 \times$ speedup over the MPI-based state-of-the-art on synthetic and real-world network graphs. Moreover, ours is the first implementation that can run IMM to find influencers in the ‘twitter’ graph (41M nodes and 1.4B edges) in 200 seconds using 8 K CPU cores of NERSC Perlmutter supercomputer. Shubhendra Pal Singhal, Souvadra Hati, Jeffrey Young 0001, Vivek Sarkar, Akihiro Hayashi, Richard W. Vuduc |
SC | 6 |
| 2023 | Distributed-Memory Parallel JointNMFabstractJoint Nonnegative Matrix Factorization (JointNMF) is a hybrid method for mining information from datasets that contain both feature and connection information. We propose distributed-memory parallelizations of three algorithms for solving the JointNMF problem based on Alternating Nonnegative Least Squares, Projected Gradient Descent, and Projected Gauss-Newton. We extend well-known communication-avoiding algorithms using a single processor grid case to our coupled case on two processor grids. We demonstrate the scalability of the algorithms on up to 960 cores (40 nodes) with 60% parallel efficiency. The more sophisticated Alternating Nonnegative Least Squares (ANLS) and Gauss-Newton variants outperform the first-order gradient descent method in reducing the objective on large-scale problems. We perform a topic modelling task on a large corpus of academic papers that consists of over 37 million paper abstracts and nearly a billion citation relationships, demonstrating the utility and scalability of the methods. Srinivas Eswar, Benjamin Cobb, Koby Hayashi, Ramakrishnan Kannan, Grey Ballard, Richard W. Vuduc, Haesun Park |
ICS | 6 |
| 2023 | Calculon: a methodology and tool for high-level co-design of systems and large language modelsabstractThis paper presents a parameterized analytical performance model of transformer-based Large Language Models (LLMs) for guiding high-level algorithm-architecture codesign studies. This model derives from an extensive survey of performance optimizations that have been proposed for the training and inference of LLMs; the model's parameters capture application characteristics, the hardware system, and the space of implementation strategies. With such a model, we can systematically explore a joint space of hardware and software configurations to identify optimal system designs under given constraints, like the total amount of system memory. We implemented this model and methodology in a Python-based open-source tool called Calculon. Using it, we identified novel system designs that look significantly different from current inference and training systems, showing quantitatively the estimated potential to achieve higher efficiency, lower cost, and better scalability. Mikhail Isaev, Nic McDonald, Larry Dennison, Richard W. Vuduc |
SC | 4 |
| 2022 | ParaGraph: An application-simulator interface and toolkit for hardware-software co-designabstractParaGraph is an open-source toolkit for use in co-designing hardware and software for supercomputer-scale systems. It bridges an infrastructure gap between an application target and existing high-fidelity computer-network simulators. The first component of ParaGraph is a high-level graph representation of a parallel program, which a) faithfully represents parallelism and communication, b) can be extracted automatically from a compiler, and c) is “tuned” for use with network simulators. The second is a runtime that can emulate the representation’s dynamic execution for a simulator. User-extensible mechanisms are available for modeling on-node performance and transforming high-level communication into operations that backend simulators understand. Case studies include deep learning workloads that are extracted automatically from programs written in JAX and TensorFlow and interfaced with several event-driven network simulators. These studies show how system designers can use ParaGraph to build flexible end-to-end software-hardware co-design workflows to tweak communication libraries, find future hardware bottlenecks, and validate simulations with traces. Mikhail Isaev, Nic McDonald, Jeffrey Young 0001, Richard W. Vuduc |
ICPP | 4 |
| 2022 | "Smarter" NICs for faster molecular dynamics: a case studyabstractThis work evaluates the benefits of using a “smart” network interface card (SmartNIC) as a compute accelerator for the example of the MiniMD molecular dynamics proxy application. The accelerator is NVIDIA's BlueField-2 card, which includes an 8-core Arm processor along with a small amount of DRAM and storage. We test the networking and data movement performance of these cards compared to a standard Intel server host using microbenchmarks and MiniMD. In MiniMD, we identify two distinct classes of computation, namely core computation and maintenance computation, which are executed in sequence. We restructure the algorithm and code to weaken this dependence and increase task parallelism, thereby making it possible to increase utilization of the BlueField-2 concurrently with the host. We evaluate our implementation on a cluster consisting of 16 dual-socket Intel Broadwell host nodes with one BlueField-2 per host-node. Our results show that while the overall compute performance of BlueField-2 is limited, using them with a modified MiniMD algorithm allows for up to 20% speedup over the host CPU baseline with no loss in simulation accuracy. Sara Karamati, Clay Hughes, Karl S. Hemmert, Ryan E. Grant, Whit Schonbein, Scott Levy, Thomas M. Conte, Jeffrey Young 0001, Richard W. Vuduc |
IPDPS | 9 |
| 2022 | Nimble GNN Embedding with Tensor-Train DecompositionabstractThis paper describes a new method for representing embedding tables of graph neural networks (GNNs) more compactly via tensor-train (TT) decomposition. We consider the scenario where (a) the graph data that lack node features, thereby requiring the learning of embeddings during training; and (b) we wish to exploit GPU platforms, where smaller tables are needed to reduce host-to-GPU communication even for large-memory GPUs. The use of TT enables a compact parameterization of the embedding, rendering it small enough to fit entirely on modern GPUs even for massive graphs. When combined with judicious schemes for initialization and hierarchical graph partitioning, this approach can reduce the size of node embedding vectors by 1,659 times to 81,362 times on large publicly available benchmark datasets, achieving comparable or better accuracy and significant speedups on multi-GPU systems. In some cases, our model without explicit node features on input can even match the accuracy of models that use node features. Chunxing Yin, Da Zheng 0004, Israt Nisa, Christos Faloutsos, George Karypis, Richard W. Vuduc |
KDD | 6 |
| 2022 | Exaflops Biomedical Knowledge Graph AnalyticsabstractWe are motivated by newly proposed methods for mining large-scale corpora of scholarly publications (e.g., full biomedical literature), which consists of tens of millions of papers spanning decades of research. In this setting, analysts seek to discover relationships among concepts. They construct graph representations from annotated text databases and then formulate the relationship-mining problem as an all-pairs shortest paths (APSP) and validate connective paths against curated biomedical knowledge graphs (e.g., Spoke). In this context, we present Coast (Exascale Communication-Optimized All-Pairs Shortest Path) and demonstrate 1.004 EF/s on 9,200 Frontier nodes (73,600 GCDs). We develop hyperbolic performance models (HYPERMOD), which guide optimizations and parametric tuning. The proposed Coast algorithm achieved the memory constant parallel efficiency of 99% in the single-precision tropical semiring. Looking forward, Coast will enable the integration of scholarly corpora like PubMed into the Spoke biomedical knowledge graph. Ramakrishnan Kannan, Piyush Sao, Hao Lu 0001, Jakub Kurzak, Gundolf Schenk, Yongmei Shi, Seung-Hwan Lim, Sharat Israni, Vijay Thakkar, Guojing Cong, Robert M. Patton, Sergio Baranzini, Richard W. Vuduc, Thomas E. Potok |
SC | 13 |
| 2022 | Critique of "MemXCT: Memory-Centric X-Ray CT Reconstruction With Massive Parallelization" by SCC Team From Georgia TechabstractFor the 2020 Student Cluster Competition, we reproduced results from “MemXCT: Memory-Centric X-ray CT Reconstruction with Massive Parallelization” (Hidayetoğluet al.). Reproducibility is of critical importance to the scientific community, not just to verify correctness of results but also to see how easily others can understand and work with the given methods. MemXCT is an approach for image reconstruction in X-ray ptychography, which has a broad range of applications in materials science. MemXCT is not the only X-ray tomography algorithm, though; as opposed to compute-centric algorithms, it is designed to scale better by optimizing for memory bandwidth and memory latency. MemXCT also applies several key optimizations in order to ease memory pressure. In this article, we test the performance and strong scaling of MemXCT on 1 to 256 AMD CPU cores (1-4 nodes) and 1-16 Nvidia V100 GPUs (1-4 nodes). We confirm the impact of MemXCT’s optimizations. Still, we find that the performance of some important loops in the MemXCT kernel is much lower on the AMD processors (with AVX2) of our CPU nodes compared to the Intel CPUs (with AVX-512) used in the original article. We also confirm MemXCT performance on Tesla V100 GPUs, as reported in the article. Nicole Prindle, Ali Kazmi, Aman Jain, Albert Chen 0003, Marissa Sorkin, Sudhanshu Agarwal, Richard W. Vuduc, Vijay Thakkar |
IEEE Trans. Parallel Distributed Syst. | 7 |
| 2021 | CUP: Cluster Pruning for Compressing Deep Neural NetworksabstractWe propose CUP, a new method for compressing and accelerating deep neural networks. At its core, CUP achieves compression by clustering and pruning similar filters in each layer. For clustering, CUP uses hierarchical clustering which allows for an elegant parameterization of model capacity through a single hyper-parameter t. We observe that by increasing t, CUP can dynamically reduce model capacity through non-uniform layer-wise pruning leading to two advantages. First, CUP can effectively compress a model to within the desired compute budget through a simple line-search on t. Second, through a simple extension, CUP can obtain the pruned model in a single training pass leading to large savings in training time. On Imagenet, CUP leads to a 2.47× FLOPS reduction on Resnet-50 with less than 1% drop in top-5 accuracy. Notably, in the retrain-free setting, CUP-RF saves over 10 hours of training time on 3 GPUs, in comparison to state-of-the-art methods. The code for CUP is open sourced1. Rahul Duggal, Cao Xiao, Richard W. Vuduc, Polo Chau, Jimeng Sun 0001 |
IEEE BigData | 3 |
| 2021 | Online model swapping for architectural simulationabstractAs systems and applications grow more complex, detailed computer architecture simulation takes an ever increasing amount of time. Longer simulation times result in slower design iterations which then force architects to use simpler models, such as spreadsheets, when they want to iterate quickly on a design. Simple models are not easy to work with though, as architects must rely on intuition to choose representative models, and the path from the simple models to a detailed hardware simulation is not always clear. Patrick Lavin, Jeffrey Young 0001, Richard W. Vuduc, Jonathan Beard |
CF | 3 |
| 2021 | Scalable All-pairs Shortest Paths for Huge Graphs on Multi-GPU ClustersabstractWe present an optimized Floyd-Warshall (Floyd-Warshall) algorithm that computes the All-pairs shortest path (APSP) for GPU accelerated clusters. The Floyd-Warshall algorithm due to its structural similarities to matrix-multiplication is well suited for highly parallel GPU architectures. To achieve high parallel efficiency, we address two key algorithmic challenges: reducing high communication overhead and addressing limited GPU memory. To reduce high communication costs, we redesign the parallel (a) to expose more parallelism, (b) aggressively overlap communication and computation with pipelined and asynchronous scheduling of operations, and (c) tailored MPI-collective. To cope with limited GPU memory, we employ an offload model, where the data resides on the host and is transferred to GPU on-demand. The proposed optimizations are supported with detailed performance models for tuning. Our optimized parallel Floyd-Warshall implementation is up to 5x faster than a strong baseline and achieves 8.1 PetaFLOPS/sec on 256~nodes of the Summit supercomputer at Oak Ridge National Laboratory. This performance represents 70% of the theoretical peak and 80% parallel efficiency. The offload algorithm can handle 2.5x larger graphs with a 20% increase in overall running time. Piyush Sao, Hao Lu 0001, Ramakrishnan Kannan, Vijay Thakkar, Richard W. Vuduc, Thomas E. Potok |
HPDC | 5 |
| 2021 | Communication-avoiding kernel ridge regression on parallel and distributed systems
Yang You 0001, Jingyue Huang, Cho-Jui Hsieh, Richard W. Vuduc, James Demmel |
CCF Trans. High Perform. Comput. | 4 |
| 2021 | ORCA: Outlier detection and Robust Clustering for Attributed graphs
Srinivas Eswar, Ramakrishnan Kannan, Richard W. Vuduc, Haesun Park |
J. Glob. Optim. | 3 |
| 2020 | Max orientation coverage: efficient path planning to avoid collisions in the CNC milling of 3D objectsabstractMost path planning algorithms for covering a complex 3D object ignore physical limitations or constraints on a robot's motion. Adhering to such constraints for a given path can slow down the time to cover the path because the motion may need to be adjusted. This work considers a scenario in computer numerical control (CNC) milling applications, where the robot is a cutting tool that needs to cover the surface of a complex 3D object under the following constraint: for every point on the generated path, the robot must be assigned an accessible orientation to avoid collisions between it and other parts of the object. Our proposed approach, which we call max orientation coverage, employs a two-step optimization scheme. It can improve path efficiency with respect to both the length of the path and the cost of dealing with the collision-avoiding constraints. We evaluate our approach through extensive simulation studies on four CAD benchmarks against a state-of-the-art baseline. We show that our proposed approach can improve the efficiency of the path by 29.7% on average compared with the baseline and the improvement goes up to 46.5% for certain complex objects. Xin Chen 0096, Thomas M. Tucker, Thomas R. Kurfess, Richard W. Vuduc, Liting Hu |
IROS | 4 |
| 2020 | A supernodal all-pairs shortest path algorithmabstractWe show how to exploit graph sparsity in the Floyd-Warshall algorithm for the all-pairs shortest path (Apsp) problem. Floyd-Warshall is an attractive choice for Apsp on high-performing systems due to its structural similarity to solving dense linear systems and matrix multiplication. However, if sparsity of the input graph is not properly exploited, Floyd-Warshall will perform unnecessary asymptotic work and thus may not be a suitable choice for many input graphs. To overcome this limitation, the key idea in our approach is to use the known algebraic relationship between Floyd-Warshall and Gaussian elimination, and import several algorithmic techniques from sparse Cholesky factorization, namely, fill-in reducing ordering, symbolic analysis, supernodal traversal, and elimination tree parallelism. When combined, these techniques reduce computation, improve locality and enhance parallelism. We implement these ideas in an efficient shared memory parallel prototype that is orders of magnitude faster than an efficient multi-threaded baseline Floyd-Warshall that does not exploit sparsity. Our experiments suggest that the Floyd-Warshall algorithm can compete with Dijkstra's algorithm (the algorithmic core of Johnson's algorithm) for several classes sparse graphs. Piyush Sao, Ramakrishnan Kannan, Prasun Gera, Richard W. Vuduc |
PPoPP | 4 |
| 2020 | Distributed-memory parallel symmetric nonnegative matrix factorizationabstractWe develop the first distributed-memory parallel implementation of Symmetric Nonnegative Matrix Factorization (SymNMF), a key data analytics kernel for clustering and dimensionality reduction. Our implementation includes two different algorithms for SymNMF, which give comparable results in terms of time and accuracy. The first algorithm is a parallelization of an existing sequential approach that uses solvers for non symmetric NMF. The second algorithm is a novel approach based on the Gauss-Newton method. It exploits second-order information without incurring large computational and memory costs. We evaluate the scalability of our algorithms on the Summit system at Oak Ridge National Laboratory, scaling up to 128 nodes (4,096 cores) with 70% efficiency. Additionally, we demonstrate our software on an image segmentation task. Srinivas Eswar, Koby Hayashi, Grey Ballard, Ramakrishnan Kannan, Richard W. Vuduc, Haesun Park |
SC | 5 |
| 2020 | Scalable knowledge graph analytics at 136 petaflop/sabstractWe are motivated by newly proposed methods for data mining large-scale corpora of scholarly publications, such as the full biomedical literature, which may consist of tens of millions of papers spanning decades of research. In this setting, analysts seek to discover how concepts relate to one another. They construct graph representations from annotated text databases and then formulate the relationship-mining problem as one of computing all-pairs shortest paths (APSP), which becomes a significant bottleneck. In this context, we present a new high-performance algorithm and implementation of the Floyd-Warshall algorithm for distributed-memory parallel computers accelerated by GPUs, which we call DSNAPSHOT (Distributed Accelerated Semiring All-Pairs Shortest Path). For our largest experiments, we ran DSNAPSHOT on a connected input graph with millions of vertices using 4, 096nodes (24,576GPUs) of the Oak Ridge National Laboratory's Summit supercomputer system. We find DSNAPSHOT achieves a sustained performance of $136\times 10^{15}$ floating-point operations per second (136petaflop/s) at a parallel efficiency of 90% under weak scaling and, in absolute speed, 70% of the best possible performance given our computation (in the single-precision tropical semiring or “min-plus” algebra). Looking forward, we believe this novel capability will enable the mining of scholarly knowledge corpora when embedded and integrated into artificial intelligence-driven natural language processing workflows at scale. Ramakrishnan Kannan, Piyush Sao, Hao Lu 0001, Drahomira Herrmannova, Vijay Thakkar, Robert M. Patton, Richard W. Vuduc, Thomas E. Potok |
SC | 7 |
| 2020 | Automatic Generation of High-Performance FFT Kernels on Arm and X86 CPUsabstractThis article presents AutoFFT, a template-based code generation framework that can automatically generate high-performance FFT kernels for all natural-number radices. AutoFFT is based on the Cooley-Tukey FFT algorithm, which exploits the symmetric and periodic properties of the DFT matrix, as the outer parallelization framework. Because butterflies are the core operations of the Cooley-Tukey algorithm, we explore additional symmetric and periodic properties of the DFT matrix and formulate multiple optimized calculation templates to further reduce the number of floating-point operations for butterflies of arbitrary natural numbers. To fully exploit hardware resources, we encapsulate a series of optimizations in an assembly template optimizer. Given any DFT problem, AutoFFT automatically generates C FFT kernels using these calculation templates and converts them into efficient assembly kernels using the template optimizer. Through a series of experiments on Arm, Intel, and AMD processors, we show that AutoFFT-generated kernels can outperform those in Fastest Fourier Transform in the West (FFTW), the Arm Performance Libraries (ARMPL), and the Intel Math Kernel Library (MKL). Zhihao Li 0001, Haipeng Jia, Yunquan Zhang, Tun Chen, Richard W. Vuduc |
IEEE Trans. Parallel Distributed Syst. | 6 |
| 2019 | Faster parallel collision detection at high resolution for CNC milling applicationsabstractThis paper presents a new and more work-efficient parallel method to speed up a class of three-dimensional collision detection (CD) problems, which arise, for instance, in computer numerical control (CNC) milling. Given two objects, one enclosed by a bounding volume and the other represented by a voxel model, we wish to determine all possible orientations of the bounded object around a given point that do not cause collisions. Underlying most CD methods are 3 types of geometrical operations that are bottlenecks: decompositions, rotations, and projections. Our proposed approach, which we call the aggressive inaccessible cone angle (AICA) method, simplifies these operations and, empirically, can prune as much as 99% of the intersection tests that would otherwise be required and improve load balance. We validate our techniques by implementing a parallel version of AICA in SculptPrint, a state-of-the-art computer-aided manufacturing (CAM) application used CNC milling, for GPU platforms. Experimental results using 4 CAM benchmarks show that AICA can be over 23× faster than a baseline method that does not prune projections, and can check collisions for 4096 angle orientations in an object represented by 27 million voxels in less than 18 milliseconds on a GPU. Xin Chen 0096, Dmytro Konobrytskyi, Thomas M. Tucker, Thomas R. Kurfess, Richard W. Vuduc |
ICPP | 5 |
| 2019 | Efficient and effective sparse tensor reorderingabstractThis paper formalizes the problem of reordering a sparse tensor to improve the spatial and temporal locality of operations with it, and proposes two reordering algorithms for this problem, which we call BFS-MCS and Lexi-Order. The BFS-MCS method is a Breadth First Search (BFS)-like heuristic approach based on the maximum cardinality search family; Lexi-Order is an extension of doubly lexical ordering of matrices to tensors. We show the effects of these schemes within the context of a widely used tensor computation, the CANDECOMP/PARAFAC decomposition (CPD), when storing the tensor in three previously proposed sparse tensor formats: coordinate (COO), compressed sparse fiber (CSF), and hierarchical coordinate (HiCOO). A new partition-based superblock scheduling is also proposed for HiCOO format to improve load balance. On modern multicore CPUs, we show Lexi-Order obtains up to 4.14× speedup on sequential HiCOO-Mttkrp and 11.88× speedup on its parallel counterpart. The performance of COO- and CSF-based Mttkrps also improves. Our two reordering methods are more effective than state-of-the-art approaches. The code is released as part of Parallel Tensor Infrastructure (ParTI!): https://github.com/hpcgarage/ParTI. Jiajia Li 0001, Bora Uçar, Ümit V. Çatalyürek, Jimeng Sun 0001, Kevin J. Barker, Richard W. Vuduc |
ICS | 6 |
| 2019 | A communication-avoiding 3D sparse triangular solverabstractWe present a novel distributed memory algorithm to improve the strong scalability of the solution of a sparse triangular system. This operation appears in the solve phase of direct methods for solving general sparse linear systems, Ax = b. Our 3D sparse triangular solver employs several techniques, including a 3D MPI process grid, elimination tree parallelism, and data replication, all of which reduce the per-process communication when combined. We present analytical models to understand the communication cost of our algorithm and show that our 3D sparse triangular solver can reduce the per-process communication volume asymptotically by a factor of O(n1/4) and O(n1/6) for problems arising from the finite element discretizations of 2D "planar" and 3D "non-planar" PDEs, respectively. We implement our algorithm for use in SuperLU_DIST3D, using a hybrid MPI+OpenMP programming model. Our 3D triangular solve algorithm, when run on 12k cores of Cray XC30, outperforms the current state-of-the-art 2D algorithm by 7.2x for planar and 2.7x for the non-planar sparse matrices, respectively. Piyush Sao, Ramakrishnan Kannan, Xiaoye S. Li, Richard W. Vuduc |
ICS | 4 |
| 2019 | Load-Balanced Sparse MTTKRP on GPUsabstractSparse matricized tensor times Khatri-Rao product (MTTKRP) is one of the most computationally expensive kernels in sparse tensor computations. This work focuses on optimizing the MTTKRP operation on GPUs, addressing both performance and storage requirements. We begin by identifying the performance bottlenecks in directly extending the state-of-the-art CSF (compressed sparse fiber) format from CPUs to GPUs. A significant challenge with GPUs compared to multicore CPUs is that of utilizing the much greater degree of parallelism in a load-balanced fashion for irregular computations like sparse MTTKRP. To address this issue, we develop a new storage-efficient representation for tensors that enables high-performance, load-balanced execution of MTTKRP on GPUs. A GPU implementation of sparse MTTKRP using the new sparse tensor representation is shown to outperform all currently known parallel sparse CPU and GPU MTTKRP implementations. Israt Nisa, Jiajia Li 0001, Aravind Sukumaran-Rajam, Richard W. Vuduc, P. Sadayappan |
IPDPS | 4 |
| 2019 | Adaptive Deep Path: Efficient Coverage of a Known Environment under Various ConfigurationsabstractCoverage path planning of a known environment sees a variety of applications, including cleaning, surveillance, agriculture and 3D printing. Most approaches employ hard-coded heuristics or other application-specific requirements, making them hard to extend to other problem scenarios or “configurations,” such as different motion strategies or robot size. This work presents a unifying, general, and adaptive framework, called adaptive deep path (AD Path), for coverage path planning problems under a variety of configurations. It can improve path efficiency with respect to both path length and number of turns, and can flexibly accommodate different problem configuration options. We evaluate AD Path against a state-of-the-art baseline in four complex environments with different configurations. We show that our approach can produce efficient paths; our experimental results show that AD Path can reduce the path length by 21.8% and the number turns by 38.6% on average compared with the baseline. Xin Chen 0096, Thomas M. Tucker, Thomas R. Kurfess, Richard W. Vuduc |
IROS | 4 |
| 2019 | Temporal phenotyping of medically complex children via PARAFAC2 tensor factorization
Ioakeim Perros, Evangelos E. Papalexakis, Richard W. Vuduc, Elizabeth Searles, Jimeng Sun 0001 |
J. Biomed. Informatics | 3 |
| 2019 | Optimizing sparse tensor times matrix on GPUs
Yuchen Ma 0001, Jiajia Li 0001, Chenggang Yan 0001, Jimeng Sun 0001, Richard W. Vuduc |
J. Parallel Distributed Comput. | 6 |
| 2019 | A communication-avoiding 3D algorithm for sparse LU factorization on heterogeneous systems
Piyush Sao, Xiaoye S. Li, Richard W. Vuduc |
J. Parallel Distributed Comput. | 3 |
| 2019 | A microbenchmark characterization of the Emu chick
Jeffrey Young 0001, Eric R. Hein, Srinivas Eswar, Patrick Lavin, Jiajia Li 0001, E. Jason Riedy, Richard W. Vuduc, Thomas M. Conte |
Parallel Comput. | 7 |
| 2018 | Accurate, Fast and Scalable Kernel Ridge Regression on Parallel and Distributed SystemsabstractKernel Ridge Regression (KRR) is a fundamental method in machine learning. Given an n-by-d data matrix as input, a traditional implementation requires Θ(n2) memory to form an n-by-n kernel matrix and Θ(n3) flops to compute the final model. These time and storage costs prohibit KRR from scaling up to large datasets. For example, even on a relatively small dataset (a 520k-by-90 input requiring 357 MB), KRR requires 2 TB memory just to store the kernel matrix. The reason is that n usually is much larger than d for real-world applications. On the other hand, weak scaling becomes a problem: if we keep d and n/p fixed as p grows (p is # machines), the memory needed grows as Θ(p) per processor and the flops as Θ(p2) per processor. In the perfect weak scaling situation, both the memory needed and the flops grow as Θ(1) per processor (i.e. memory and flops are constant). The traditional Distributed KRR implementation (DKRR) only achieved 0.32% weak scaling efficiency from 96 to 1536 processors. Yang You 0001, James Demmel, Cho-Jui Hsieh, Richard W. Vuduc |
ICS | 4 |
| 2018 | An Energy-Efficient Single-Source Shortest Path AlgorithmabstractWe present a novel strategy to control the energy-efficiency of an algorithm from software, which is to make the degree of parallelism dynamically and automatically tunable. The specific algorithm is a variation of delta-stepping for computing a single-source shortest path (SSSP); its available parallelism is highly irregular and strongly input-dependent. Informed by an analysis of these runtime characteristics, we propose a software-based controller that uses online learning techniques to tune parallelism to meet a given target, thereby improving the average available parallelism while reducing its variability. We show experimentally the efficacy of our self-tuning algorithm in managing tradeoffs among performance and power. Our experimental apparatus is based on the SSSP implementation available in the Gunrock GPU library running on an embedded CPU+GPU, whose hardware has GPU core and memory frequency knobs. Sara Karamati, Jeffrey Young 0001, Richard W. Vuduc |
IPDPS | 3 |
| 2018 | A Communication-Avoiding 3D LU Factorization Algorithm for Sparse MatricesabstractWe propose a new algorithm to improve the strong scalability of right-looking sparse LU factorization on distributed memory systems. Our 3D sparse LU algorithm uses a three-dimensional MPI process grid, aggressively exploits elimination tree parallelism and trades off increased memory for reduced per-process communication. We also analyze the asymptotic improvements for planar graphs (e.g., from 2D grid or mesh domains) and certain non-planar graphs (specifically for 3D grids and meshes). For planar graphs with n vertices, our algorithm reduces communication volume asymptotically in n by a factor of O{log n} and latency by a factor of O{log n}. For non-planar cases, our algorithm can reduce the per-process communication volume by 3× and latency by O{n^1/3} times. In all cases, the memory needed to achieve these gains is a constant factor. We implemented our algorithm by extending the 2D data structure used in superLU. Our new 3D code achieves speedups up to 27× for planar graphs and up to 3.3× for non-planar graphs over the baseline 2D superLU when run on 24,000 cores of a Cray XC30. Piyush Sao, Xiaoye S. Li, Richard W. Vuduc |
IPDPS | 3 |
| 2018 | SUSTain: Scalable Unsupervised Scoring for Tensors and its Application to PhenotypingabstractThis paper presents a new method, which we call SUSTain, that extends real-valued matrix and tensor factorizations to data where values are integers. Such data are common when the values correspond to event counts or ordinal measures. The conventional approach is to treat integer data as real, and then apply real-valued factorizations. However, doing so fails to preserve important characteristics of the original data, thereby making it hard to interpret the results. Instead, our approach extracts factor values from integer datasets as scores that are constrained to take values from a small integer set. These scores are easy to interpret: a score of zero indicates no feature contribution and higher scores indicate distinct levels of feature importance. At its core, SUSTain relies on: a) a problem partitioning into integer-constrained subproblems, so that they can be optimally solved in an efficient manner; and b) organizing the order of the subproblems' solution, to promote reuse of shared intermediate results. We propose two variants, SUSTain_M and SUSTain_T, to handle both matrix and tensor inputs, respectively. We evaluate SUSTain against several state-of-the-art baselines on both synthetic and real Electronic Health Record (EHR) datasets. Comparing to those baselines, SUSTain shows either significantly better fit or orders of magnitude speedups that achieve a comparable fit (up to 425× faster). We apply SUSTain to EHR datasets to extract patient phenotypes (i.e., clinically meaningful patient clusters). Furthermore, 87% of them were validated as clinically meaningful phenotypes related to heart failure by a cardiologist. Ioakeim Perros, Evangelos E. Papalexakis, Haesun Park, Richard W. Vuduc, Xiaowei Yan, Christopher deFilippi, Walter F. Stewart, Jimeng Sun 0001 |
KDD | 4 |
| 2018 | HiCOO: hierarchical storage of sparse tensors
Jiajia Li 0001, Jimeng Sun 0001, Richard W. Vuduc |
SC | 3 |
| 2018 | Autotuning in High-Performance Computing ApplicationsabstractAutotuning refers to the automatic generation of a search space of possible implementations of a computation that are evaluated through models and/or empirical measurement to identify the most desirable implementation. Autotuning has the potential to dramatically improve the performance portability of petascale and exascale applications. To date, autotuning has been used primarily in high-performance applications through tunable libraries or previously tuned application code that is integrated directly into the application. This paper draws on the authors' extensive experience applying autotuning to high-performance applications, describing both successes and future challenges. If autotuning is to be widely used in the HPC community, researchers must address the software engineering challenges, manage configuration overheads, and continue to demonstrate significant performance gains and portability across architectures. In particular, tools that configure the application must be integrated into the application build process so that tuning can be reapplied as the application and target architectures evolve. Prasanna Balaprakash, Jack J. Dongarra, Todd Gamblin, Mary W. Hall, Jeffrey K. Hollingsworth, Boyana Norris, Richard W. Vuduc |
Proc. IEEE | 7 |
| 2017 | Model-Driven Sparse CP Decomposition for Higher-Order TensorsabstractGiven an input tensor, its CANDECOMP/PARAFAC decomposition (or CPD) is a low-rank representation. CPDs are of particular interest in data analysis and mining, especially when the data tensor is sparse and of higher order (dimension). This paper focuses on the central bottleneck of a CPD algorithm, which is evaluating a sequence of matricized tensor times Khatri-Rao products (MTTKRPs). To speed up the MTTKRP sequence, we propose a novel, adaptive tensor memoization algorithm, AdaTM. Besides removing redundant computations within the MTTKRP sequence, which potentially reduces its overall asymptotic complexity, our technique also allows a user to make a space-time tradeoff by automatically tuning algorithmic and machine parameters using a model-driven framework. Our method improves as the tensor order grows, making its performance more scalable for higher-order data problems. We show speedups of up to 8× and 820× on real sparse data tensors with orders as high as 85 over the SPLATT package and Tensor Toolbox library respectively; and on a full CPD algorithm (CP-ALS), AdaTM can be up to 8× faster than state-of-the-art method implemented in SPLATT. Jiajia Li 0001, Jee Choi, Ioakeim Perros, Jimeng Sun 0001, Richard W. Vuduc |
IPDPS | 5 |
| 2017 | SPARTan: Scalable PARAFAC2 for Large & Sparse DataabstractIn exploratory tensor mining, a common problem is how to analyze a set of variables across a set of subjects whose observations do not align naturally. For example, when modeling medical features across a set of patients, the number and duration of treatments may vary widely in time, meaning there is no meaningful way to align their clinical records across time points for analysis purposes. To handle such data, the state-of-the-art tensor model is the so-called PARAFAC2, which yields interpretable and robust output and can naturally handle sparse data. However, its main limitation up to now has been the lack of efficient algorithms that can handle large-scale datasets. Ioakeim Perros, Evangelos E. Papalexakis, Fei Wang 0001, Richard W. Vuduc, Elizabeth Searles, Jimeng Sun 0001 |
KDD | 4 |
| 2017 | Polyadic Regression and its Application to ChemogenomicsabstractWe study the problem of Polyadic Prediction, where the input consists of an ordered tuple of objects, and the goal is to predict a measurement associated with them. Many tasks can be naturally framed as Polyadic Prediction problems. In drug discovery, for instance, it is important to estimate the treatment effect of a drug on various tissue-specific diseases, as it is expressed over the available genes. Thus, we essentially predict the expression value measurements for several (drug, gene, tissue) triads. To tackle Polyadic Prediction problems, we propose a general framework, called Polyadic Regression, predicting measurements associated with multiple objects. Our framework is inductive, in the sense of enabling predictions for new objects, unseen during training. Our model is expressive, exploring high-order, polyadic interactions in an efficient manner. An alternating Proximal Gradient Descent procedure is proposed to fit our model. We perform an extensive evaluation using real-world chemogenomics data, where we illustrate the superior performance of Polyadic Regression over the prior art. Our method achieves an increase of 0.06 and 0.1 in Spearman correlation between the predicted and the actual measurement vectors, for predicting missing polyadic data and predicting polyadic data for new drugs, respectively. Ioakeim Perros, Fei Wang 0001, Ping Zhang 0016, Peter B. Walker, Richard W. Vuduc, Jyotishman Pathak, Jimeng Sun 0001 |
SDM | 5 |
| 2017 | Design and Implementation of a Communication-Optimal Classifier for Distributed Kernel Support Vector MachinesabstractWe consider the problem of how to design and implement communication-efficient versions of parallel kernel support vector machines, a widely used classifier in statistical machine learning, for distributed memory clusters and supercomputers. The main computational bottleneck is the training phase, in which a statistical model is built from an input data set. Prior to our study, the parallel isoefficiency of a state-of-the-art implementation scaled as W = Ω(P3), where W is the problem size and P the number of processors; this scaling is worse than even a one-dimensional block row dense matrix vector multiplication, which has W = Ω(P2). This study considers a series of algorithmic refinements, leading ultimately to a Communication-Avoiding SVM method that improves the isoefficiency to nearly W = Ω(P). We evaluate these methods on 96 to 1,536 processors, and show average speedups of 3 - 16x (7× on average) over Dis-SMO, and a 95 percent weak-scaling efficiency on six real-world datasets, with only modest losses in overall classification accuracy. The source code can be downloaded at [1]. Yang You 0001, James Demmel, Kenneth Czechowski, Richard W. Vuduc |
IEEE Trans. Parallel Distributed Syst. | 5 |
| 2016 | Hybrid Dynamic Trees for Extreme-Resolution 3D Sparse Data ModelingabstractThis paper presents the hybrid dynamic tree (HDT), a novel adaptive tree-based data structure for representing high-resolution sparse volumes. Roughly speaking, HDTs combine dense volumetric grids with sparse octrees in a way that makes them both more compact and better-suited to GPUs than state-of-the-art alternatives. For our motivating applications in computer-aided design and manufacturing(CAD/CAM), we show 2× reductions in storage on realistic inputs compared to these alternatives, additionally, we show up to 16 fix speedups over multicore CPU implementations on a specific computational bottleneck known as an offset surface computation. Indeed, these combined improvements allow us to perform offsetting on a single node at resolutions well beyond that of the prior work and the capabilities of current commercial packages. And beyond CAD/CAM, HDTs may find applications in 3D geometric modeling problems for a variety of domains, including medical imaging and graphics. Mohammad M. Hossain, Thomas M. Tucker, Thomas R. Kurfess, Richard W. Vuduc |
IPDPS | 4 |
| 2015 | Sparse Hierarchical Tucker Factorization and Its Application to HealthcareabstractWe propose a new tensor factorization method, called the Sparse Hierarchical-Tucker (Sparse H-Tucker), for sparse and high-order data tensors. Sparse H-Tucker is inspired by its namesake, the classical Hierarchical Tucker method, which aims to compute a tree-structured factorization of an input data set that may be readily interpreted by a domain expert. However, Sparse H-Tucker uses a nested sampling technique to overcome a key scalability problem in Hierarchical Tucker, which is the creation of an unwieldy intermediate dense core tensor, the result of our approach is a faster, more space-efficient, and more accurate method. We test our method on a real healthcare dataset, which is collected from 30K patients and results in an 18th order sparse data tensor. Unlike competing methods, Sparse H-Tucker can analyze the full data set on a single multi-threaded machine. It can also do so more accurately and in less time than the state-of-the-art: on a 12th order subset of the input data, Sparse H-Tucker is 18x more accurate and 7.5x faster than a previously state-of-the-art method. Moreover, we observe that Sparse H-Tucker scales nearly linearly in the number of non-zero tensor elements. The resulting model also provides an interpretable disease hierarchy, which is confirmed by a clinical expert. Ioakeim Perros, Robert Chen 0001, Richard W. Vuduc, Jimeng Sun 0001 |
ICDM | 3 |
| 2015 | A Sparse Direct Solver for Distributed Memory Xeon Phi-Accelerated SystemsabstractThis paper presents the first sparse direct solver for distributed memory systems comprising hybrid multicourse CPU and Intel Xeon Pico-processors. It builds on the algorithmic approach of SuperLU_DIST, which is right-looking and statically pivoted. Our contribution is a novel algorithm, called the HALO. The name is shorthand for highly asynchronous lazy offload, it refers tithe way the algorithm combines highly aggressive use of asynchrony with accelerated offload, lazy updates, and data shadowing (a la halo or ghost zones), all of which serve to hide and reduce communication, whether to local memory, across the network, or over PCIe. We further augment HALO with a model-driven autotuning heuristicthat chooses the intra-node division of labor among CPU and Xeon Pico-processor components. When integrated into SuperLU_DIST and evaluated on a variety of realistic test problems in both single-node and multi-node configurations, the resulting implementation achieves speedups of unto 2.5× over an already efficient multicourse CPU implementation, and achieves up to 83% of a machine-specific upper-bound that we haveestimated. Our analysis quantifies how well our implementation performs and allows us to speculate on the potential speedups that might come from variety of future improvements to the algorithm and system. Piyush Sao, Richard W. Vuduc, Xiaoye S. Li |
IPDPS | 3 |
| 2015 | CA-SVM: Communication-Avoiding Support Vector Machines on Distributed SystemsabstractWe consider the problem of how to design and implement communication-efficient versions of parallel support vector machines, a widely used classifier in statistical machine learning, for distributed memory clusters and supercomputers. The main computational bottleneck is the training phase, in which a statistical model is built from an input data set. Prior to our study, the parallel is efficiency of a state-of-the-art implementation scaled as W = Omega(P3), where W is the problem size and P the number of processors, this scaling is worse than even a one-dimensional block row dense matrix vector multiplication, which has W = Omega(P2). This study considers a series of algorithmic refinements, leading ultimately to a Communication-Avoiding SVM (CASVM) method that improves the is efficiency to nearly W = Omega(P). We evaluate these methods on 96 to 1536 processors, and show average speedups of 3 - 16× (7× on average) over Dis-SMO, and a 95% weak-scaling efficiency on six real world datasets, with only modest losses in overall classification accuracy. The source code can be downloaded at https://github.com/fastalgo/casvm. Yang You 0001, James Demmel, Kenneth Czechowski, Richard W. Vuduc |
IPDPS | 5 |
| 2015 | An input-adaptive and in-place approach to dense tensor-times-matrix multiplyabstractThis paper describes a novel framework, called InTensLi ("intensely"), for producing fast single-node implementations of dense tensor-times-matrix multiply (Ttm) of arbitrary dimension. Whereas conventional implementations of Ttm rely on explicitly converting the input tensor operand into a matrix---in order to be able to use any available and fast general matrix-matrix multiply (Gemm) implementation---our framework's strategy is to carry out the Ttm in-place, avoiding this copy. As the resulting implementations expose tuning parameters, this paper also describes a heuristic empirical model for selecting an optimal configuration based on the Ttm's inputs. When compared to widely used single-node Ttm implementations that are available in the Tensor Toolbox and Cyclops Tensor Framework (Ctf), In-TensLi's in-place and input-adaptive Ttm implementations achieve 4× and 13× speedups, showing Gemm-like performance on a variety of input sizes. Jiajia Li 0001, Casey Battaglino, Ioakeim Perros, Jimeng Sun 0001, Richard W. Vuduc |
SC | 5 |
| 2015 | Branch-Avoiding Graph AlgorithmsabstractThis paper quantifies the impact of branches and branch mispredictions on the single-core performance of certain graph problems, specifically for computing connected components. We show that branch mispredictions are costly and can reduce performance by as much as 30%-50%. This insight suggests that one should seek graph algorithms and implementations that avoid branches. Oded Green, Marat Dukhan, Richard W. Vuduc |
SPAA | 3 |
| 2015 | UNICORN: a unified approach for localizing non-deadlock concurrency bugsabstractSummary UNICORNis an automated dynamic pattern‐detection‐based technique that finds and ranks problematic memory access patterns for non‐deadlock concurrency bugs. It monitors pairs of memory accesses, combines the pairs into problematic patterns and ranks the patterns by their suspiciousness scores. It detects significant classes of bug types, including order violations and both single‐variable and multivariable atomicity violations, which have been shown to be the most important classes of non‐deadlock concurrency bugs. This paper describes theUNICORNapproach, its implementations in Java and C++, and evaluates these implementations empirically. The evaluation shows thatUNICORNcan effectively compute and rank the patterns that represent concurrency bugs, and perform computation and ranking with reasonable efficiency. Copyright © 2014 John Wiley & Sons, Ltd. Richard W. Vuduc, Mary Jean Harrold |
Softw. Test. Verification Reliab. | 2 |
| 2014 | A Distributed CPU-GPU Sparse Direct Solver
Piyush Sao, Richard W. Vuduc, Xiaoye S. Li |
Euro-Par | 2 |
| 2014 | Algorithmic Time, Energy, and Power on Candidate HPC Compute Building BlocksabstractWe conducted a micro benchmarking study of the time, energy, and power of computation and memory access on several existing platforms. These platforms represent candidate compute-node building blocks of future high-performance computing systems. Our analysis uses the "energy roofline" model, developed in prior work, which we extend in two ways. First, we improve the model's accuracy by accounting for power caps, basic memory hierarchy access costs, and measurement of random memory access patterns. Secondly, we empirically evaluate server-, mini-, and mobile-class platforms that span a range of compute and power characteristics. Our study includes a dozen such platforms, including x86 (both conventional and Xeon Phi), ARM, GPU, and hybrid (AMD APU and other SoC) processors. These data and our model analytically characterize the range of algorithmic regimes where we might prefer one building block to others. It suggests critical values of arithmetic intensity around which some systems may switch from being more to less time- and energy-efficient than others, it further suggests how, with respect to intensity, operations should be throttled to meet a power cap. We hope our methods can help make debates about the relative merits of these and other systems more quantitative, analytical, and insightful. Jee W. Choi, Marat Dukhan, Richard W. Vuduc |
IPDPS | 4 |
| 2014 | Improving the energy efficiency of Big CoresabstractTraditionally, architectural innovations designed to boost single-threaded performance incur overhead costs which significantly increase power consumption. In many cases the increase in power exceeds the improvement in performance, resulting in a net increase in energy consumption. Thus, it is reasonable to assume that modern attempts to improve single-threaded performance will have a negative impact on energy efficiency. This has led to the belief that “Big Cores” are inherently inefficient. To the contrary, we present a study which finds that the increased complexity of the core microarchitecture in recent generations of the Intel®Core™ processor have reduced both the time and energy required to run various workloads. Moreover, taking out the impact of process technology changes, our study still finds the architecture and microarchitecture changes -such as the increase in SIMD width, addition of the frontend caches, and the enhancement to the out-of-order execution engine- account for 1.2x improvement in energy efficiency for these processors. This paper provides real-world examples of how architectural innovations can mitigate inefficiencies associated with “Big Cores” -for example, micro-op caches obviate the costly decode of complex x86 instructions- resulting in a core architecture that is both high performance and energy efficient. It also contributes to the understanding of how microarchitecture affects performance, power and energy efficiency by modeling the relationship between them. Kenneth Czechowski, Victor W. Lee, Ed Grochowski, Ronny Ronen, Ronak Singhal, Richard W. Vuduc, Pradeep Dubey |
ISCA | 6 |
| 2013 | A Roofline Model of EnergyabstractWe describe an energy-based analogue of the time-based roofline model. We create this model from the perspective of algorithm designers and performance tuners, with the intent not of making exact predictions, but rather, developing highlevel analytic insights into the possible relationships among the time, energy, and power costs of an algorithm. The model expresses algorithms in terms of operations, concurrency, and memory traffic; and characterizes the machine based on a small number of simple cost parameters, namely, the time and energy costs per operation or per word of communication. We confirm the basic form of the model experimentally. From this model, we suggest under what conditions we ought to expect an algorithmic time-energy trade-off, and show how algorithm properties may help inform power management. JeeWhan Choi, Daniel Bedard, Robert J. Fowler, Richard W. Vuduc |
IPDPS | 4 |
| 2013 | A Theoretical Framework for Algorithm-Architecture Co-designabstractWe consider the problem of how to enable computer architects and algorithm designers to reason directly and analytically about the relationship between high-level architectural features and algorithm characteristics. We propose a modeling framework designed to help understand the long-term and high-level impacts of algorithmic and technology trends. This model connects abstract communication complexity analysis-with respect to both the inter-core and inter-processor networks and the memory hierarchy-with current technology proposals and projections. We illustrate how one might use the framework by instantiating a particular model for a class of architectures and sample algorithms (three-dimensional fast Fourier transforms, matrix multiply, and three-dimensional stencil). Then, as a suggestive demonstration, we analyze a number of what-if scenarios within the model in light of these trends to suggest broader statements and alternative futures for power-constrained architectures and algorithms. Kenneth Czechowski, Richard W. Vuduc |
IPDPS | 2 |
| 2013 | Griffin: grouping suspicious memory-access patterns to improve understanding of concurrency bugsabstractThis paper presents Griffin, a new fault-comprehension technique. Griffin provides a way to explain concurrency bugs using additional information over existing fault-localization techniques, and thus, bridges the gap between fault- localization and fault-fixing techniques. Griffin inputs a list of memory-access patterns and a coverage matrix, groups those patterns responsible for the same concurrency bug, and outputs the grouped patterns along with suspicious methods and bug graphs. Griffin is the first technique that handles multiple concurrency bugs. This paper also describes the implementation of Griffin in Java and C++, and shows the empirical evaluation of Griffin on a set of subjects. The results show that, for our subjects, Griffin clusters failing executions and memory-access patterns for the same bug with few false positives, provides suspicious methods that contain the locations to be fixed, and runs efficiently. Mary Jean Harrold, Richard W. Vuduc |
ISSTA | 3 |
| 2012 | A New Method for Program Inversion
Cong Hou, George Vulov, Daniel J. Quinlan, David R. Jefferson, Richard M. Fujimoto, Richard W. Vuduc |
CC | 6 |
| 2012 | On the communication complexity of 3D FFTs and its implications for ExascaleabstractThis paper revisits the communication complexity of large-scale 3D fast Fourier transforms (FFTs) and asks what impact trends in current architectures will have on FFT performance at exascale. We analyze both memory hierarchy traffic and network communication to derive suitable analytical models, which we calibrate against current software implementations; we then evaluate models to make predictions about potential scaling outcomes at exascale, based on extrapolating current technology trends. Of particular interest is the performance impact of choosing high-density processors, typified today by graphics co-processors (GPUs), as the base processor for an exascale system. Among various observations, a key prediction is that although inter-node all-to-all communication is expected to be the bottleneck of distributed FFTs, intra-node communication---expressed precisely in terms of the relative balance among compute capacity, memory bandwidth, and network bandwidth---will play a critical role. Kenneth Czechowski, Casey Battaglino, Chris McClanahan, Kartik Iyer, P.-K. Yeung, Richard W. Vuduc |
ICS | 6 |
| 2012 | A Unified Approach for Localizing Non-deadlock Concurrency BugsabstractThis paper presents UNICORN, a new automated dynamic pattern-detection-based technique that finds and ranks problematic memory access patterns for non-deadlock concurrency bugs. UNICORN monitors pairs of memory accesses, combines the pairs into problematic patterns, and ranks the patterns by their suspiciousness scores. UNICORN detects significant classes of bug types, including order violations and both single-variable and multi-variable atomicity violations, which have been shown to be the most important classes of non-deadlock concurrency bugs. The paper also describes implementations of UNICORN in Java and C++, along with empirical evaluation using these implementations. The evaluation shows that UNICORN can effectively compute and rank the patterns that represent concurrency bugs, and perform computation and ranking with reasonable efficiency. Richard W. Vuduc, Mary Jean Harrold |
ICST | 2 |
| 2012 | A type theory for probability density functionsabstractThere has been great interest in creating probabilistic programming languages to simplify the coding of statistical tasks; however, there still does not exist a formal language that simultaneously provides (1) continuous probability distributions, (2) the ability to naturally express custom probabilistic models, and (3) probability density functions (PDFs). This collection of features is necessary for mechanizing fundamental statistical techniques. We formalize the first probabilistic language that exhibits these features, and it serves as a foundational framework for extending the ideas to more general languages. Particularly novel are our type system for absolutely continuous (AC) distributions (those which permit PDFs) and our PDF calculation procedure, which calculates PDF s for a large class of AC distributions. Our formalization paves the way toward the rigorous encoding of powerful statistical reformulations. Sooraj Bhat, Ashish Agarwal, Richard W. Vuduc, Alexander G. Gray |
POPL | 3 |
| 2012 | A performance analysis framework for identifying potential benefits in GPGPU applicationsabstractTuning code for GPGPU and other emerging many-core platforms is a challenge because few models or tools can precisely pinpoint the root cause of performance bottlenecks. In this paper, we present a performance analysis framework that can help shed light on such bottlenecks for GPGPU applications. Although a handful of GPGPU profiling tools exist, most of the traditional tools, unfortunately, simply provide programmers with a variety of measurements and metrics obtained by running applications, and it is often difficult to map these metrics to understand the root causes of slowdowns, much less decide what next optimization step to take to alleviate the bottleneck. In our approach, we first develop an analytical performance model that can precisely predict performance and aims to provide programmer-interpretable metrics. Then, we apply static and dynamic profiling to instantiate our performance model for a particular input code and show how the model can predict the potential performance benefits. We demonstrate our framework on a suite of micro-benchmarks as well as a variety of computations extracted from real codes. Jaewoong Sim, Aniruddha Dasgupta, Hyesoon Kim, Richard W. Vuduc |
PPoPP | 4 |
| 2012 | Optimizing the computation of n-point correlations on large-scale astronomical dataabstractThe n-point correlation functions (npcf) are powerful statistics that are widely used for data analyses in astronomy and other fields. These statistics have played a crucial role in fundamental physical breakthroughs, including the discovery of dark energy. Unfortunately, directly computing the npcf at a single value requires O(Nn) time for N points and values of n of 2, 3, 4, or even larger. Astronomical data sets can contain billions of points, and the next generation of surveys will generate terabytes of data per night. To meet these computational demands, we present a highly-tuned npcf computation code that show an order-of-magnitude speedup over current state-of-the-art. This enables a much larger 3-point correlation computation on the galaxy distribution than was previously possible. We show a detailed performance evaluation on many different architectures. William B. March, Kenneth Czechowski, Marat Dukhan, Thomas Benson, Dongryeol Lee, Andrew J. Connolly, Richard W. Vuduc, Edmond Chow, Alexander G. Gray |
SC | 7 |
| 2012 | A Distributed Kernel Summation Framework for General-Dimension Machine LearningabstractKernel summations are a ubiquitous key computational bottleneck in many data analysis methods.In this paper, we attempt to marry, for the first time, the best relevant techniques in parallel computing, where kernel summations are in low dimensions, with the best general-dimension algorithms from the machine learning literature.We provide the first distributed implementation of kernel summation framework that can utilize: 1) various types of deterministic and probabilistic approximations that may be suitable for low and high-dimensional problems with a large number of data points; 2) any multi-dimensional binary tree using both distributed memory and shared memory parallelism; 3) a dynamic load balancing scheme to adjust work imbalances during the computation.Our hybrid MPI/OpenMP codebase has wide applicability in providing a general framework to accelerate the computation of many popular machine learning methods.Our experiments show scalability results for kernel density estimation on a synthetic ten-dimensional dataset containing over one billion points and a subset of the Sloan Digital Sky Survey Data up to 6,144 cores. 23 Dongryeol Lee, Richard W. Vuduc, Alexander G. Gray |
SDM | 2 |
| 2012 | Brief announcement: towards a communication optimal fast multipole method and its implications at exascaleabstractThis paper presents the first in-depth models for compute and memory costs of the kernel-independent Fast Multipole Method (KIFMM). The Fast Multiple Method (FMM) has asymptotically linear time complexity with a guaranteed approximation accuracy, making it an attractive candidate for a wide variety of particle system simulations on future exascale systems. This paper reports on three key advances. First, we present lower bounds on cache complexity for key phases of the FMM and use these bounds to derive analytical performance models. Secondly, using these models, we present results for choosing the optimal algorithmic tuning parameter. Lastly, we use these performance models to make predictions about FMM's scalability on possible exascale system configurations, based on current technology trends. Looking forward to exascale, we suggest that the FMM, though highly compute-bound on today's systems, could in fact become memory-bound by 2020. Aparna Chandramowlishwaran, JeeWhan Choi, Kamesh Madduri, Richard W. Vuduc |
SPAA | 4 |
| 2012 | When Prefetching Works, When It Doesn't, and WhyabstractIn emerging and future high-end processor systems, tolerating increasing cache miss latency and properly managing memory bandwidth will be critical to achieving high performance. Prefetching, in both hardware and software, is among our most important available techniques for doing so; yet, we claim that prefetching is perhaps also the least well-understood. Thus, the goal of this study is to develop a novel, foundational understanding of both the benefits and limitations of hardware and software prefetching. Our study includes: source code-level analysis, to help in understanding the practical strengths and weaknesses of compiler- and software-based prefetching; a study of the synergistic and antagonistic effects between software and hardware prefetching; and an evaluation of hardware prefetching training policies in the presence of software prefetching requests. We use both simulation and measurement on real systems. We find, for instance, that although there are many opportunities for compilers to prefetch much more aggressively than they currently do, there is also a tangible risk of interference with training existing hardware prefetching mechanisms. Taken together, our observations suggest new research directions for cooperative hardware/software prefetching. Jaekyu Lee, Hyesoon Kim, Richard W. Vuduc |
ACM Trans. Archit. Code Optim. | 3 |
| 2010 | Falcon: fault localization in concurrent programsabstractConcurrency fault are difficult to find because they usually occur under specific thread interleavings. Fault-detection tools in this area find data-access patterns among thread interleavings, but they report benign patterns as well as actual faulty patterns. Traditional fault-localization techniques have been successful in identifying faults in sequential, deterministic programs, but they cannot detect faulty data-access patterns among threads. This paper presents a new dynamic fault-localization technique that can pinpoint faulty data-access patterns in multi-threaded concurrent programs. The technique monitors memory-access sequences among threads, detects data-access patterns associated with a program's pass/fail results, and reports dataaccess patterns with suspiciousness scores. The paper also presents the description of a prototype implementation of the technique in Java, and the results of an empirical study we performed with the prototype on several Java benchmarks. The empirical study shows that the technique can effectively and efficiently localize the faults for our subjects. Richard W. Vuduc, Mary Jean Harrold |
ICSE (1) | 2 |
| 2010 | Performance evaluation of concurrent collections on high-performance multicore computing systemsabstractThis paper is the first extensive performance study of a recently proposed parallel programming model, called Concurrent Collections (CnC). In CnC, the programmer expresses her computation in terms of application-specific operations, partially-ordered by semantic scheduling constraints. The CnC model is well-suited to expressing asynchronous-parallel algorithms, so we evaluate CnC using two dense linear algebra algorithms in this style for execution on state-of-the-art multicore systems: (i) a recently proposed asynchronous-parallel Cholesky factorization algorithm, (ii) a novel and non-trivial ¿higher-level¿ partly-asynchronous generalized eigensolver for dense symmetric matrices. Given a well-tuned sequential BLAS, our implementations match or exceed competing multithreaded vendor-tuned codes by up to 2.6×. Our evaluation compares with alternative models, including ScaLAPACK with a shared memory MPI, OpenMP, Cilk++, and PLASMA 2.0, on Intel Harpertown, Nehalem, and AMD Barcelona systems. Looking forward, we identify new opportunities to improve the CnC language and runtime scheduling and execution. Aparna Chandramowlishwaran, Kathleen Knobe, Richard W. Vuduc |
IPDPS | 3 |
| 2010 | Optimizing and tuning the fast multipole method for state-of-the-art multicore architecturesabstractThis work presents the first extensive study of single-node performance optimization, tuning, and analysis of the fast multipole method (FMM) on modern multi-core systems. We consider single- and double-precision with numerous performance enhancements, including low-level tuning, numerical approximation, data structure transformations, OpenMP parallelization, and algorithmic tuning. Among our numerous findings, we show that optimization and parallelization can improve double-precision performance by 25× on Intel's quad-core Nehalem, 9.4× on AMD's quad-core Barcelona, and 37.6× on Sun's Victoria Falls (dual-sockets on all systems). We also compare our single-precision version against our prior state-of-the-art GPU-based code and show, surprisingly, that the most advanced multicore architecture (Nehalem) reaches parity in both performance and power efficiency with NVIDIA's most advanced GPU architecture. Aparna Chandramowlishwaran, Samuel Williams 0001, Leonid Oliker, Ilya Lashuk, George Biros, Richard W. Vuduc |
IPDPS | 6 |
| 2010 | Unconventional wisdom in multicore computingabstractThe aim of this panel is to assess the prevailing assumptions in today's multicore software R&D and computing education, and ask in particular whether the parallel computing community's current trajectory will produce the “right” algorithmic and software infrastructure for tomorrow's applications. Richard W. Vuduc |
IPDPS | 1 |
| 2010 | Many-Thread Aware Prefetching Mechanisms for GPGPU ApplicationsabstractWe consider the problem of how to improve memory latency tolerance in massively multithreaded GPGPUs when the thread-level parallelism of an application is not sufficient to hide memory latency. One solution used in conventional CPU systems is prefetching, both in hardware and software. However, we show that straightforwardly applying such mechanisms to GPGPU systems does not deliver the expected performance benefits and can in fact hurt performance when not used judiciously. This paper proposes new hardware and software prefetching mechanisms tailored to GPGPU systems, which we refer to as many-thread aware prefetching (MT-prefetching) mechanisms. Our software MT-prefetching mechanism, called inter-thread prefetching, exploits the existence of common memory access behavior among fine-grained threads. For hardware MT-prefetching, we describe a scalable prefetcher training algorithm along with a hardware-based inter-thread prefetching mechanism. In some cases, blindly applying prefetching degrades performance. To reduce such negative effects, we propose an adaptive prefetch throttling scheme, which permits automatic GPGPU application- and hardware-specific adjustment. We show that adaptation reduces the negative effects of prefetching and can even improve performance. Overall, compared to the state-of-the-art software and hardware prefetching, our MT-prefetching improves performance on average by 16%(software pref.)/15% (hardware pref.) on our benchmarks. Jaekyu Lee, Nagesh B. Lakshminarayana, Hyesoon Kim, Richard W. Vuduc |
MICRO | 4 |
| 2010 | Applying the concurrent collections programming model to asynchronous parallel dense linear algebraabstractThis poster is a case study on the application of a novel programming model, called Concurrent Collections (CnC), to the implementation of an asynchronous-parallel algorithm for computing the Cholesky factorization of dense matrices. In CnC, the programmer expresses her computation in terms of application-specific operations, partially-ordered by semantic scheduling constraints. We demonstrate the performance potential of CnC in this poster, by showing that our Cholesky implementation nearly matches or exceeds competing vendor-tuned codes and alternative programming models. We conclude that the CnC model is well-suited for expressing asynchronous-parallel algorithms on emerging multicore systems. Aparna Chandramowlishwaran, Kathleen Knobe, Richard W. Vuduc |
PPoPP | 3 |
| 2010 | Model-driven autotuning of sparse matrix-vector multiply on GPUsabstractWe present a performance model-driven framework for automated performance tuning (autotuning) of sparse matrix-vector multiply (SpMV) on systems accelerated by graphics processing units (GPU). Our study consists of two parts. JeeWhan Choi, Amik Singh, Richard W. Vuduc |
PPoPP | 3 |
| 2010 | Diagnosis, Tuning, and Redesign for Multicore Performance: A Case Study of the Fast Multipole MethodabstractGiven a program and a multisocket, multicore system, what is the process by which one understands and improves its performance and scalability? We describe an approach in the context of improving within-node scalability of the fast multipole method (FMM). Our process consists of a systematic sequence of modeling, analysis, and tuning steps, beginning with simple models, and gradually increasing their complexity in the quest for deeper performance understanding and better scalability. For the FMM, we significantly improve within-node scalability; for example, on a quad-socket Intel Nehalem-EX system, we show speedups of 1.7× over the previous best multithreaded implementation, 19.3× over a sequential but highly tuned (e.g., SIMD-vectorized) code, and match or outperform a state-of- the-art GPGPU implementation. Our study sheds new light on the form of a more general performance analysis and tuning process that other multicore/manycore tuning practitioners (end- user programmers) and automated performance analysis and tuning tools could themselves apply. Aparna Chandramowlishwaran, Kamesh Madduri, Richard W. Vuduc |
SC | 3 |
| 2010 | Petascale Direct Numerical Simulation of Blood Flow on 200K Cores and Heterogeneous ArchitecturesabstractWe present a fast, petaflop-scalable algorithm for Stokesian particulate flows. Our goal is the direct simulation of blood, which we model as a mixture of a Stokesian fluid (plasma) and red blood cells (RBCs). Directly simulating blood is a challenging multiscale, multiphysics problem. We report simulations with up to 200 million deformable RBCs. The largest simulation amounts to 90 billion unknowns in space. In terms of the number of cells, we improve the state-of-the art by several orders of magnitude: the previous largest simulation, at the same physical fidelity as ours, resolved the flow of O(1,000-10,000) RBCs. Our approach has three distinct characteristics: (1) we faithfully represent the physics of RBCs by using nonlinear solid mechanics to capture the deformations of each cell; (2) we accurately resolve the long-range, N-body, hydrodynamic interactions between RBCs (which are caused by the surrounding plasma); and (3) we allow for the highly non-uniform distribution of RBCs in space. The new method has been implemented in the software library MOBO (for “Moving Boundaries”). We designed MOBO to support parallelism at all levels, including inter-node distributed memory parallelism, intra-node shared memory parallelism, data parallelism (vectorization), and fine-grained multithreading for GPUs. We have implemented and optimized the majority of the computation kernels on both Intel/AMD x86 and NVidia's Tesla/Fermi platforms for single and double floating point precision. Overall, the code has scaled on 256 CPU-GPUs on the Teragrid's Lincoln cluster and on 200,000 AMD cores of the Oak Ridge national Laboratory's Jaguar PF system. In our largest simulation, we have achieved 0.7 Petaflops/s of sustained performance on Jaguar. Abtin Rahimian, Ilya Lashuk, Shravan K. Veerapaneni, Aparna Chandramowlishwaran, Dhairya Malhotra, Logan Moon, Rahul S. Sampath, Aashay Shringarpure, Jeffrey S. Vetter, Richard W. Vuduc, Denis Zorin, George Biros |
SC | 10 |
| 2009 | Direct N-body Kernels for Multicore PlatformsabstractWe present an inter-architectural comparison of single-and double-precision direct n-body implementations on modern multicore platforms, including those based on the Intel Nehalem and AMD Barcelona systems, the Sony-Toshiba-IBM PowerXCell/8i processor, and NVIDA Tesla C870 and C1060 GPU systems. We compare our implementations across platforms on a variety of proxy measures, including performance, coding complexity, and energy efficiency. Nitin Arora, Aashay Shringarpure, Richard W. Vuduc |
ICPP | 3 |
| 2009 | Tuned and wildly asynchronous stencil kernels for hybrid CPU/GPU systemsabstractWe describe heterogeneous multi-CPU and multi-GPU implementations of Jacobi's iterative method for the 2-D Poisson equation on a structured grid, in both single- and double-precision. Properly tuned, our best implementation achieves 98% of the empirical streaming GPU bandwidth (66% of peak) on a NVIDIA C1060, and 78% on a C870. Motivated to find a still faster implementation, we further consider "wildly asynchronous" implementations that can reduce or even eliminate the synchronization bottleneck between iterations. In these versions, which are based on chaotic relaxation (Chazan and Miranker, 1969), we simply remove or delay synchronization between iterations. By doing so, we trade-off more flops, via more iterations to converge, for a higher degree of asynchronous parallelism. Our wild implementations on a GPU can be 1.2-2.5x faster than our best synchronized GPU implementation while achieving the same accuracy. Looking forward, this result suggests research on similarly "fast-and-loose" algorithms in the coming era of increasingly massive concurrency and relatively high synchronization or communication costs. Sundaresan Venkatasubramanian, Richard W. Vuduc |
ICS | 2 |
| 2009 | Understanding the design trade-offs among current multicore systems for numerical computationsabstractIn this paper, we empirically evaluate fundamental design trade-offs among the most recent multicore processors and accelerator technologies. Our primary aim is to aid application designers in better mapping their software to the most suitable architecture, with an additional goal of influencing future computing system design. We specifically examine five architectures, based on: the Intel quadcore Harpertown processor, the AMD quad-core Barcelona processor, the Sony-Toshiba-IBM Cell Broadband Engine processors (both the first-generation chip and the second-generation PowerXCell 8i), and the NVIDIA Tesla C1060 GPU. We illustrate the software implementation process on each platform for a set of widely-used kernels from computational statistics that are simple to reason about; measure and analyze the performance of each implementation; and discuss the impact of different architectural design choices on each implementation. Seunghwa Kang, David A. Bader, Richard W. Vuduc |
IPDPS | 3 |
| 2009 | A massively parallel adaptive fast-multipole method on heterogeneous architecturesabstractWe present new scalable algorithms and a new implementation of our kernel-independent fast multipole method (Ying et al. ACM/IEEE SC '03), in which we employ both distributed memory parallelism (via MPI) and shared memory/streaming parallelism (via GPU acceleration) to rapidly evaluate two-body non-oscillatory potentials. On traditional CPU-only systems, our implementation scales well up to 30 billion unknowns on 65K cores (AMD/CRAY-based Kraken system at NSF/NICS) for highly non-uniform point distributions. On GPU-enabled systems, we achieve 30x speedup for problems of up to 256 million points on 256 GPUs (Lincoln at NSF/NCSA) over a comparable CPU-only based implementations. Ilya Lashuk, Aparna Chandramowlishwaran, Harper Langston, Rahul S. Sampath, Aashay Shringarpure, Richard W. Vuduc, Lexing Ying, Denis Zorin, George Biros |
SC | 7 |
| 2009 | Optimization of sparse matrix-vector multiplication on emerging multicore platformsabstractWe are witnessing a dramatic change in computer architecture due to the multicore paradigm shift, as every electronic device from cell phones to supercomputers confronts parallelism of unprecedented scale. To fully unleash the potential of these systems, the HPC community must develop multicore specific optimization methodologies for important scientific computations. In this work, we examine sparse matrix-vector multiply (SpMV) - one of the most heavily used kernels in scientific computing - across a broad spectrum of multicore designs. Our experimental platform includes the homogeneous AMD dual-core and Intel quad-core designs, the heterogeneous STI Cell, as well as the first scientific study of the highly multithreaded Sun Niagara2. We present several optimization strategies especially effective for the multicore environment, and demonstrate significant performance improvements compared to existing state-of-the-art serial and parallel SpMV implementations. Additionally, we present key insights into the architectural tradeoffs of leading multicore design strategies, in the context of demanding memory-bound numerical algorithms. Samuel Williams 0001, Leonid Oliker, Richard W. Vuduc, John Shalf, Katherine A. Yelick, James Demmel |
Parallel Comput. | 3 |
| 2007 | Communicating Software Architecture using a Unified Single-View VisualizationabstractSoftware is among the most complex human artifacts, and visualization is widely acknowledged as important to understanding software. In this paper, we consider the problem of understanding a software system's architecture through visualization. Whereas traditional visualizations use multiple stakeholder-specific views to present different kinds of task- specific information, we propose an additional visualization technique that unifies the presentation of various kinds of architecture-level information, thereby allowing a variety of stakeholders to quickly see and communicate current development, quality, and costs of a software system. For future empirical evaluation of multi-aspect, single-view architectural visualizations, we have implemented our idea in an existing visualization tool, Vizz3D. Our implementation includes techniques, such as the use of a city metaphor, that reduce visual complexity in order to support single-view visualizations of large-scale programs. Thomas Panas, Thomas Epperly, Daniel J. Quinlan, Andreas Sæbjørnsen, Richard W. Vuduc |
ICECCS | 5 |
| 2007 | POET: Parameterized Optimizations for Empirical TuningabstractThe excessive complexity of both machine architectures and applications have made it difficult for compilers to statically model and predict application behavior. This observation motivates the recent interest in performance tuning using empirical techniques. We present a new embedded scripting language, POET (parameterized optimization for empirical tuning), for parameterizing complex code transformations so that they can be empirically tuned. The POET language aims to significantly improve the generality, flexibility, and efficiency of existing empirical tuning systems. We have used the language to parameterize and to empirically tune three loop optimizations - interchange, blocking, and unrolling - for two linear algebra kernels. We show experimentally that the time required to tune these optimizations using POET, which does not require any program analysis, is significantly shorter than that when using a full compiler-based source-code optimizer which performs sophisticated program analysis and optimizations. Qing Yi, Keith Seymour, Haihang You, Richard W. Vuduc, Daniel J. Quinlan |
IPDPS | 4 |
| 2007 | Optimization of sparse matrix-vector multiplication on emerging multicore platforms
Samuel Williams 0001, Leonid Oliker, Richard W. Vuduc, John Shalf, Katherine A. Yelick, James Demmel |
SC | 3 |
| 2006 | Annotating user-defined abstractions for optimizationabstractAlthough conventional compilers implement a wide range of optimization techniques, they frequently miss opportunities to optimize the use of abstractions, largely because they are not designed to recognize and use the relevant semantic information about such abstractions. In this position paper, we propose a set of annotations to help communicate high-level semantic information about abstractions to the compiler, thereby enabling the large body of traditional compiler optimizations to be applied to the use of those abstractions. Our annotations explicitly describe properties of abstractions that are needed to guarantee the applicability and profitability of a broad variety of such optimizations, including memoization, reordering, data layout transformations, and inlining and specialization Daniel J. Quinlan, Markus Schordan, Richard W. Vuduc, Qing Yi |
IPDPS | 3 |
| 2005 | Fast Sparse Matrix-Vector Multiplication by Exploiting Variable Block Structure
Richard W. Vuduc, Hyun Jin Moon |
HPCC | 1 |
| 2005 | Self-Adapting Linear Algebra Algorithms and SoftwareabstractOne of the main obstacles to the efficient solution of scientific problems is the problem of tuning software, both to the available architecture and to the user problem at hand. We describe approaches for obtaining tuned high-performance kernels and for automatically choosing suitable algorithms. Specifically, we describe the generation of dense and sparse Basic Linear Algebra Subprograms (BLAS) kernels, and the selection of linear solver algorithms. However, the ideas presented here extend beyond these areas, which can be considered proof of concept. Richard Carl Demmel, Jack J. Dongarra, Victor Eijkhout, Erika Fuentes, Antoine Petitet, Richard W. Vuduc, R. Clint Whaley, Katherine A. Yelick |
Proc. IEEE | 6 |
| 2004 | Performance Models for Evaluation and Automatic Tuning of Symmetric Sparse Matrix-Vector MultiplyabstractWe present optimizations for sparse matrix-vector multiply SpMV and its generalization to multiple vectors, SpMM, when the matrix is symmetric: (1) symmetric storage, (2) register blocking, and (3) vector blocking. Combined with register blocking, symmetry saves more than 50% in matrix storage. We also show performance speedups of 2.1/spl times/ for SpMV and 2.6/spl times/ for SpMM, when compared to the best nonsymmetric register blocked implementation. We present an approach for the selection of tuning parameters, based on empirical modeling and search that consists of three steps: (1) Off-line benchmark, (2) Runtime search, and (3) Heuristic performance model. This approach generally selects parameters to achieve performance with 85% of that achieved with exhaustive search. We evaluate our implementations with respect to upper bounds on performance. Our model bounds performance by considering only the cost of memory operations and using lower bounds on the number of cache misses. Our optimized codes are within 68% of the upper bounds. Benjamin C. Lee, Richard W. Vuduc, James Demmel, Katherine A. Yelick |
ICPP | 2 |
| 2002 | Performance optimizations and bounds for sparse matrix-vector multiplyabstractWe consider performance tuning, by code and data structure reorganization, of sparse matrix-vector multiply (SpM×V), one of the most important computational kernels in scientific applications. This paper addresses the fundamental questions of what limits exist on such performance tuning, and how closely tuned code approaches these limits. Specifically, we develop upper and lower bounds on the performance (Mflop/s) of SpM×V when tuned using our previously proposed register blocking optimization. These bounds are based on the non-zero pattern in the matrix and the cost of basic memory operations, such as cache hits and misses. We evaluate our tuned implementations with respect to these bounds using hardware counter data on 4 different platforms and on test set of 44 sparse matrices. We find that we can often get within 20% of the upper bound, particularly on class of matrices from finite element modeling (FEM) problems; on non-FEM matrices, performance improvements of 2× are still possible. Lastly, we present new heuristic that selects optimal or near-optimal register block sizes (the key tuning parameters) more accurately than our previous heuristic. Using the new heuristic, we show improvements in SpM×V performance (Mflop/s) by as much as 2.5× over an untuned implementation. Collectively, our results suggest that future performance improvements, beyond those that we have already demonstrated for SpM×V, will come from two sources: (1) consideration of higher-level matrix structures (e.g. exploiting symmetry, matrix reordering, multiple register block sizes), and (2) optimizing kernels with more opportunity for data reuse (e.g. sparse matrix-multiple vector multiply, multiplication of AT A by a vector). Richard W. Vuduc, James Demmel, Katherine A. Yelick, Shoaib Kamil 0001, Rajesh Nishtala, Benjamin C. Lee |
SC | 1 |
| 2000 | SWAMI: a framework for collaborative filtering algorithm development and evaluationabstractWe present a Java-based framework, SWAMI (Shared Wisdom through the Amalgamation of Many Interpretations) for building and studying collaborative filtering systems. SWAMI consists of three components: a prediction engine, an evaluation system, and a visualization component. The prediction engine provides a common interface for implementing different prediction algorithms. The evaluation system provides a standardized testing methodology and metrics for analyzing the accuracy and run-time performance of prediction algorithms. The visualization component suggests how graphical representations can inform the development and analysis of prediction algorithms. We demonstrate SWAMI on the Each Movie data set by comparing three prediction algorithms: a traditional Pearson correlation-based method, support vector machines, and a new accurate and scalable correlation-based method based on clustering techniques. Danyel Fisher, Kirsten Hildrum, Jason I. Hong, Mark W. Newman, Megan Thomas, Richard W. Vuduc |
SIGIR | 6 |