Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Wei Wu 0016

dblp:95/6985-16 · DBLP profile ↗
← Back
13ranked-venue papers
2as first author
3since 2021 · last 2022
0000-0002-2750-6365ORCID · conflict

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

Systems, architecture and hardware · 12 · 2 first-author · 2 since 2021Software engineering, systems software and programming languages · 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
6 papers
Parallel and multicore computing · 42% Hardware accelerators and domain-specific architectures · 21% GPUs and heterogeneous computing · 10%
Artificial intelligence
3 papers
Efficient and distributed learning · 100%
Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 100%

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

TopicWeightPapersLastEvidence papers
Machine learning › Efficient and distributed learning
distributed training
1.022022
Unity: Accelerating DNN Training Through Joint Optimization of Algebraic Transformations and Parallelization · OSDI 2022
FFT-based Gradient Sparsification for the Distributed Training of Deep Neural Networks · HPDC 2020
Parallel and multicore computing › data distribution
data redistribution
0.612022
Evaluating Data Redistribution in PaRSEC · IEEE Trans. Parallel Distributed Syst. 2022
Parallel and multicore computing › parallel programming runtimes
task-based runtime
0.612022
Evaluating Data Redistribution in PaRSEC · IEEE Trans. Parallel Distributed Syst. 2022
Hardware accelerators and domain-specific architectures › machine learning accelerator › neural network accelerator
binary neural network accelerator
0.512021
O3BNN-R: An Out-of-Order Architecture for High-Performance and Regularized BNN Inference · IEEE Trans. Parallel Distributed Syst. 2021
Reconfigurable computing and FPGAs
FPGA-based neural network inference
0.512021
O3BNN-R: An Out-of-Order Architecture for High-Performance and Regularized BNN Inference · IEEE Trans. Parallel Distributed Syst. 2021
Hardware accelerators and domain-specific architectures › machine learning accelerator
neural network accelerator
0.512021
O3BNN-R: An Out-of-Order Architecture for High-Performance and Regularized BNN Inference · IEEE Trans. Parallel Distributed Syst. 2021
Machine learning › Efficient and distributed learning › distributed training
gradient compression
0.412020
FFT-based Gradient Sparsification for the Distributed Training of Deep Neural Networks · HPDC 2020
Performance modeling and evaluation
benchmarking
0.412020
Task bench: a parameterized benchmark for evaluating parallel runtime performance · SC 2020
Machine learning › Efficient and distributed learning › memory management
GPU memory management
0.312018
Superneurons: dynamic GPU memory management for training deep neural networks · PPoPP 2018
Machine learning › Efficient and distributed learning
memory-efficient training
0.312018
Superneurons: dynamic GPU memory management for training deep neural networks · PPoPP 2018
Parallel and multicore computing › parallel scheduling
communication scheduling
0.312018
ADAPT: an event-based adaptive collective communication framework · HPDC 2018
GPUs and heterogeneous computing
GPU memory
0.312018
Superneurons: dynamic GPU memory management for training deep neural networks · PPoPP 2018
High-performance computing › collective communication
MPI collective communication
0.312018
ADAPT: an event-based adaptive collective communication framework · HPDC 2018
Parallel and multicore computing › parallel programming models › message passing
MPI communication
0.212016
GPU-Aware Non-contiguous Data Movement In Open MPI · HPDC 2016
Parallel and multicore computing
load balancing
0.212022
Evaluating Data Redistribution in PaRSEC · IEEE Trans. Parallel Distributed Syst. 2022
Machine learning › Efficient and distributed learning › distributed training
gradient aggregation
0.112020
FFT-based Gradient Sparsification for the Distributed Training of Deep Neural Networks · HPDC 2020
Parallel and multicore computing
parallel programming runtimes
0.112020
Task bench: a parameterized benchmark for evaluating parallel runtime performance · SC 2020
Machine learning › Efficient and distributed learning
memory optimization
0.112018
Superneurons: dynamic GPU memory management for training deep neural networks · PPoPP 2018
GPUs and heterogeneous computing
heterogeneous supercomputing
0.112018
ADAPT: an event-based adaptive collective communication framework · HPDC 2018

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

recomputation · 0.7liveness analysis · 0.7regularization · 0.5dynamic pruning · 0.5algorithm-architecture co-design · 0.5quantization · 0.4parameterized benchmarking · 0.4minimum effective task granularity · 0.4FFT-based sparsification · 0.4topology-aware communication tree · 0.3non-contiguous memory layout handling · 0.2MPI · 0.2
YearPublicationVenuePosition
2022 Unity: Accelerating DNN Training Through Joint Optimization of Algebraic Transformations and Parallelization
Colin Unger, Wei Wu 0016, Sina Lin, Mandeep Baines, Carlos Efrain Quintero Narvaez, Vinay Ramakrishnaiah, Nirmal Prajapati, Patrick S. McCormick, Jamaludin Mohd-Yusof, Dheevatsa Mudigere, Jongsoo Park, Mikhail Smelyanskiy, Alex Aiken
OSDI3
2022 Evaluating Data Redistribution in PaRSEC
abstract
Data redistribution aims to reshuffle data to optimize some objective for an algorithm. The objective can be multi-dimensional, such as improving computational load balance or decreasing communication volume or cost, with the ultimate goal of increasing the efficiency and therefore reducing the time-to-solution for the algorithm. The classic redistribution problem focuses on optimally scheduling communications when reshuffling data between two regular, usually block-cyclic, data distributions. Besides distribution, data size is also a performance-critical parameter because it affects the reshuffling algorithm in terms of cache, communication efficiency, and potential parallelism. In addition, task-based runtime systems have gained popularity recently as a potential candidate to address the programming complexity on the way to exascale. In this scenario, it becomes paramount to develop a flexible redistribution algorithm for task-based runtime systems, which could support all types of regular and irregular data distributions and take data size into account. In this article, we detail a flexible redistribution algorithm and implement an efficient approach in a task-based runtime system,PaRSEC. Performance results show great capability compared to the theoreticalboundandScaLAPACK, and applications highlight an increased efficiency with little overhead in terms of data distribution, data size, and data format.
Qinglei Cao, George Bosilca, Nuria Losada, Wei Wu 0016, Dong Zhong, Jack J. Dongarra
IEEE Trans. Parallel Distributed Syst.4
2021 O3BNN-R: An Out-of-Order Architecture for High-Performance and Regularized BNN Inference
abstract
Binarized Neural Networks (BNN), which significantly reduce computational complexity and memory demand, have shown potential in cost- and power-restricted domains, such as IoT and smart edge-devices, where reaching certain accuracy bars is sufficient and real-time is highly desired. In this article, we demonstrate that the highly-condensed BNN model can be shrunk significantly by dynamically pruning irregular redundant edges. Based on two new observations on BNN-specific properties, an out-of-order (OoO) architecture, O3BNN-R, which can curtail edge evaluation in cases where the binary output of a neuron can be determined early at runtime during inference, is proposed. Similar to instruction level parallelism (ILP), fine-grained, irregular, and runtime pruning opportunities are traditionally presumed to be difficult to exploit. To further enhance the pruning opportunities, we conduct an algorithm/architecture co-design approach where we augment the loss function during the training stage with specialized regularization terms favoring edge pruning. We evaluate our design on an embedded FPGA using networks that include VGG-16, AlexNet for ImageNet, and a VGG-like network for Cifar-10. Results show that O3BNN-R without regularization can prune, on average, 30 percent of the operations, without any accuracy loss, bringing 2.2× inference-speedup, and on average 34× energy-efficiency improvement over state-of-the-art BNN implementations on FPGA/GPU/CPU. With regularization at training, the performance is further improved, on average, by 15 percent.
Tong Geng, Ang Li 0006, Chunshu Wu, Runbin Shi, Wei Wu 0016, Martin C. Herbordt
IEEE Trans. Parallel Distributed Syst.7
2020 Flexible Data Redistribution in a Task-Based Runtime System
abstract
Data redistribution aims to reshuffle data to optimize some objective for an algorithm. The objective can be multi-dimensional, such as improving computational load balance or decreasing communication volume or cost, with the ultimate goal to increase the efficiency and therefore decrease the time-to-solution for the algorithm. The classical redistribution problem focuses on optimally scheduling communications when reshuffling data between two regular, usually block-cyclic, data distributions. Recently, task-based runtime systems have gained popularity as a potential candidate to address the programming complexity on the way to exascale. In addition to an increase in portability against complex hardware and software systems, task-based runtime systems have the potential to be able to more easily cope with less-regular data distribution, providing a more balanced computational load during the lifetime of the execution. In this scenario, it becomes paramount to develop a general redistribution algorithm for task-based runtime systems, which could support all types of regular and irregular data distributions. In this paper, we detail a flexible redistribution algorithm, capable of dealing with redistribution problems without constraints of data distribution and data size and implement it in a task-based runtime system, PaRSEC. Performance results show great capability compared to ScaLAPACK, and applications highlight an increased efficiency with little overhead in terms of data distribution and data size.
Qinglei Cao, George Bosilca, Wei Wu 0016, Dong Zhong, Aurelien Bouteiller, Jack J. Dongarra
CLUSTER3
2020 HAN: a Hierarchical AutotuNed Collective Communication Framework
abstract
High-performance computing (HPC) systems keep growing in scale and heterogeneity to satisfy the increasing computational need, and this brings new challenges to the design of MPI libraries, especially with regard to collective operations. To address these challenges, we present “HAN,” a new hierarchical autotuned collective communication framework in Open MPI, which selects suitable homogeneous collective communication modules as submodules for each hardware level, uses collective operations from the submodules as tasks, and organizes these tasks to perform efficient hierarchical collective operations. With a task-based design, HAN can easily swap out submodules, while keeping tasks intact, to adapt to new hardware. This makes HAN suitable for the current platform and provides a strong and flexible support for future HPC systems. To provide a fast and accurate autotuning mechanism, we present a novel cost model based on benchmarking the tasks instead of a whole collective operation. This method drastically reduces tuning time, as the cost of tasks can be reused across different message sizes, and is more accurate than existing cost models. Our cost analysis suggests the autotuning component can find the optimal configuration in most cases. The evaluation of the HAN framework suggests our design significantly improves the default Open MPI and achieves decent speedups against state-of-the-art MPI implementations on tested applications.
Wei Wu 0016, George Bosilca, Qinglei Cao, Thananon Patinyasakdikul, Dong Zhong, Jack J. Dongarra
CLUSTER2
2020 FFT-based Gradient Sparsification for the Distributed Training of Deep Neural Networks
abstract
The performance and efficiency of distributed training of Deep Neural Networks (DNN) highly depend on the performance of gradient averaging among participating processes, a step bound by communication costs. There are two major approaches to reduce communication overhead: overlap communications with computations (lossless), or reduce communications (lossy). The lossless solution works well for linear neural architectures, e.g. VGG, AlexNet, but more recent networks such as ResNet and Inception limit the opportunity for such overlapping. Therefore, approaches that reduce the amount of data (lossy) become more suitable. In this paper, we present a novel, explainable lossy method that sparsifies gradients in the frequency domain, in addition to a new range-based float point representation to quantize and further compress gradients. These dynamic techniques strike a balance between compression ratio, accuracy, and computational overhead, and are optimized to maximize performance in heterogeneous environments.
Linnan Wang, Wei Wu 0016, Junyu Zhang 0002, Hang Liu 0001, George Bosilca, Maurice Herlihy, Rodrigo Fonseca
HPDC2
2020 Task bench: a parameterized benchmark for evaluating parallel runtime performance
abstract
We present Task Bench, a parameterized benchmark designed to explore the performance of distributed programming systems under a variety of application scenarios. Task Bench dramatically lowers the barrier to benchmarking and comparing multiple programming systems by making the implementation for a given system orthogonal to the benchmarks themselves: every benchmark constructed with Task Bench runs on every Task Bench implementation. Furthermore, Task Bench's parameterization enables a wide variety of benchmark scenarios that distill the key characteristics of larger applications. To assess the effectiveness and overheads of the tested systems, we introduce a novel metric, minimum effective task granularity (METG). We conduct a comprehensive study with 15 programming systems on up to 256 Haswell nodes of the Cori supercomputer. Running at scale, 100μs-long tasks are the finest granularity that any system runs efficiently with current technologies. We also study each system's scalability, ability to hide communication and mitigate load imbalance.
Elliott Slaughter, Wei Wu 0016, Yuankun Fu, Legend Brandenburg, Nicolai Garcia, Wilhem Kautz, Emily Marx, Kaleb S. Morris, Qinglei Cao, George Bosilca, Seema Mirchandaney, Wonchan Lee, Sean Treichler, Patrick S. McCormick, Alex Aiken
SC2
2019 O3BNN: an out-of-order architecture for high-performance binarized neural network inference with fine-grained pruning
abstract
Binarized Neural Networks (BNN) have drawn tremendous attention due to significantly reduced computational complexity and memory demand. They have especially shown great potential in cost- and power-restricted domains, such as IoT and smart edge-devices, where reaching a certain accuracy bar is often sufficient, and real-time is highly desired.
Tong Geng, Chunshu Wu, Chen Yang 0010, Wei Wu 0016, Ang Li 0006, Martin C. Herbordt
ICS5
2018 ADAPT: an event-based adaptive collective communication framework
abstract
The increase in scale and heterogeneity of high-performance computing (HPC) systems predispose the performance of Message Passing Interface (MPI) collective communications to be susceptible to noise, and to adapt to a complex mix of hardware capabilities. The designs of state of the art MPI collectives heavily rely on synchronizations; these designs magnify noise across the participating processes, resulting in significant performance slowdown. Therefore, such design philosophy must be reconsidered to efficiently and robustly run on the large-scale heterogeneous platforms. In this paper, we present ADAPT, a new collective communication framework in Open MPI, using event-driven techniques to morph collective algorithms to heterogeneous environments. The core concept of ADAPT is to relax synchronizations, while mamtaining the minimal data dependencies of MPI collectives. To fully exploit the different bandwidths of data movement lanes in heterogeneous systems, we extend the ADAPT collective framework with a topology-aware communication tree. This removes the boundaries of different hardware topologies while maximizing the speed of data movements. We evaluate our framework with two popular collective operations: broadcast and reduce on both CPU and GPU clusters. Our results demonstrate drastic performance improvements and a strong resistance against noise compared to other state of the art MPI libraries. In particular, we demonstrate at least 1.3X and 1.5X speedup for CPU data and 2X and 10X speedup for GPU data using ADAPT event-based broadcast and reduce operations.
Wei Wu 0016, George Bosilca, Thananon Patinyasakdikul, Linnan Wang, Jack J. Dongarra
HPDC2
2018 Superneurons: dynamic GPU memory management for training deep neural networks
abstract
Going deeper and wider in neural architectures improves their accuracy, while the limited GPU DRAM places an undesired restriction on the network design domain. Deep Learning (DL) practitioners either need to change to less desired network architectures, or nontrivially dissect a network across multiGPUs. These distract DL practitioners from concentrating on their original machine learning tasks. We present SuperNeurons: a dynamic GPU memory scheduling runtime to enable the network training far beyond the GPU DRAM capacity. SuperNeurons features 3 memory optimizations, Liveness Analysis, Unified Tensor Pool, and Cost-Aware Recomputation; together they effectively reduce the network-wide peak memory usage down to the maximal memory usage among layers. We also address the performance issues in these memory-saving techniques. Given the limited GPU DRAM, SuperNeurons not only provisions the necessary memory for the training, but also dynamically allocates the memory for convolution workspaces to achieve the high performance. Evaluations against Caffe, Torch, MXNet and TensorFlow have demonstrated that SuperNeurons trains at least 3.2432 deeper network than current ones with the leading performance. Particularly, SuperNeurons can train ResNet2500 that has 104 basic network layers on a 12GB K40c.
Linnan Wang, Jinmian Ye, Wei Wu 0016, Ang Li 0006, Shuaiwen Song, Zenglin Xu, Tim Kraska
PPoPP4
2016 GPU-Aware Non-contiguous Data Movement In Open MPI
abstract
Due to better parallel density and power efficiency, GPUs have become more popular for use in scientific applica- tions. Many of these applications are based on the ubiquitous Message Passing Interface (MPI) programming paradigm, and take advantage of non-contiguous memory layouts to exchange data between processes. However, support for efficient non- contiguous data movements for GPU-resident data is still in its infancy, imposing a negative impact on the overall application performance.
Wei Wu 0016, George Bosilca, Rolf Vandevaart, Sylvain Jeaugey, Jack J. Dongarra
HPDC1
2016 BLASX: A High Performance Level-3 BLAS Library for Heterogeneous Multi-GPU Computing
abstract
Basic Linear Algebra Subprograms (BLAS) are a set of low level linear algebra kernels widely adopted by applications involved with the deep learning and scientific computing. The massive and economic computing power brought forth by the emerging GPU architectures drives interest in implementation of compute-intensive level 3 BLAS on multi-GPU systems. In this paper, we investigate existing multi-GPU level 3 BLAS and present that 1) issues, such as the improper load balancing, inefficient communication, insufficient GPU stream level concurrency and data caching, impede current implementations from fully harnessing heterogeneous computing resources; 2) and the inter-GPU Peer-to-Peer(P2P) communication remains unexplored. We then present BLASX: a highly optimized multi-GPU level-3 BLAS. We adopt the concepts of algorithms-by-tiles treating a matrix tile as the basic data unit and operations on tiles as the basic task. Tasks are guided with a dynamic asynchronous runtime, which is cache and locality aware. The communication cost under BLASX becomes trivial as it perfectly overlaps communication and computation across multiple streams during asynchronous task progression. It also takes the current tile cache scheme one step further by proposing an innovative 2-level hierarchical tile cache, taking advantage of inter-GPU P2P communication. As a result, linear speedup is observable with BLASX under multi-GPU configurations; and the extensive benchmarks demonstrate that BLASX consistently outperforms the related leading industrial and academic implementations such as cuBLAS-XT, SuperMatrix, MAGMA.
Linnan Wang, Wei Wu 0016, Zenglin Xu, Jianxiong Xiao, Yi Yang 0018
ICS2
2015 Hierarchical DAG Scheduling for Hybrid Distributed Systems
abstract
Accelerator-enhanced computing platforms have drawn a lot of attention due to their massive peak commutational capacity. Despite significant advances in the programming interfaces to such hybrid architectures, traditional programming paradigms struggle with mapping the resulting multi-dimensional heterogeneity and the expression of algorithm parallelism, resulting in sub-optimal effective performance. Task-based programming paradigms have the capability to alleviate some of the programming challenges on distributed hybrid many-core architectures. In this paper we take this concept a step further by showing that the potential of task-based programming paradigms can be greatly increased with minimal modification of the underlying runtime combined with the right algorithmic changes. We propose two novel recursive algorithmic variants for one-sided factorizations and describe the changes to the PaRSEC task-scheduling runtime to build a framework where the task granularity is dynamically adjusted to adapt the degree of available parallelism and kernel efficiency according to runtime conditions. Based on an extensive set of results, we show that, with one-sided factorizations, i.e. Colicky, and QR, a carefully written algorithm, supported by an adaptive tasks-based runtime, is capable of reaching a degree of performance and scalability never achieved before in distributed hybrid environments.
Wei Wu 0016, Aurelien Bouteiller, George Bosilca, Mathieu Faverge, Jack J. Dongarra
IPDPS1