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

Kaixi Hou

dblp:11/10310 · DBLP profile ↗
← Back
12ranked-venue papers
6as first author
0since 2021 · last 2020
0000-0003-3921-6709ORCID · corroborated

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

Systems, architecture and hardware · 10 · 6 first-authorArtificial intelligence and machine learning · 1Security and privacy · 1Databases, data management, data science and information retrieval · 1Applied, interdisciplinary, general and emerging computing · 1

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
3 papers
Parallel and multicore computing · 32% GPUs and heterogeneous computing · 15% Distributed systems · 15%
Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 100%

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

TopicWeightPapersLastEvidence papers
GPUs and heterogeneous computing
GPU graph processing
0.412019
SEP-graph: finding shortest execution paths for graph processing under a hybrid framework on GPU · PPoPP 2019
Distributed systems
graph processing systems
0.412019
SEP-graph: finding shortest execution paths for graph processing under a hybrid framework on GPU · PPoPP 2019
Parallel and multicore computing › graph processing
graph traversal
0.412019
SEP-graph: finding shortest execution paths for graph processing under a hybrid framework on GPU · PPoPP 2019
Compilers and program optimization
vectorization
0.312018
A Framework for the Automatic Vectorization of Parallel Sort on x86-Based Processors · IEEE Trans. Parallel Distributed Syst. 2018
Parallel and multicore computing › parallel algorithms › sorting
parallel sorting
0.312018
A Framework for the Automatic Vectorization of Parallel Sort on x86-Based Processors · IEEE Trans. Parallel Distributed Syst. 2018
Processor architecture and microarchitecture
SIMD
0.312018
A Framework for the Automatic Vectorization of Parallel Sort on x86-Based Processors · IEEE Trans. Parallel Distributed Syst. 2018
Memory systems › DRAM › DRAM architecture
high bandwidth memory
0.312017
Exploring and analyzing the real impact of modern on-package memory on HPC scientific kernels · SC 2017
Performance modeling and evaluation
workload characterization
0.312017
Exploring and analyzing the real impact of modern on-package memory on HPC scientific kernels · SC 2017
Parallel and multicore computing
parallel graph algorithms
0.112019
SEP-graph: finding shortest execution paths for graph processing under a hybrid framework on GPU · PPoPP 2019
High-performance computing › scientific computing
scientific computing kernels
0.112017
Exploring and analyzing the real impact of modern on-package memory on HPC scientific kernels · SC 2017

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

vector-matrix multiplication · 0.7sorting network · 0.7pattern matching · 0.7synchronous/asynchronous execution · 0.4data-driven/topology-driven traversal · 0.4adaptive scheduling · 0.4performance and power evaluation · 0.3
YearPublicationVenuePosition
2020 Segmented Merge: A New Primitive for Parallel Sparse Matrix Computations
Haonan Ji, Shibo Lu, Kaixi Hou, Hao Wang 0002, Weifeng Liu 0002, Brian Vinter
NPC3
2019 SEP-graph: finding shortest execution paths for graph processing under a hybrid framework on GPU
abstract
In general, the performance of parallel graph processing is determined by three pairs of critical parameters, namely synchronous or asynchronous execution mode (Sync or Async), Push or Pull communication mechanism (Push or Pull), and Data-driven or Topology-driven traversing scheme (DD or TD), which increases the complexity and sophistication of programming and system implementation of GPU. Existing graph-processing frameworks mainly use a single combination in the entire execution for a given application, but we have observed their variable and suboptimal performance. In this paper, we present SEP-Graph, a highly efficient software framework for graph-processing on GPU. The hybrid execution mode is automatically switched among three pairs of parameters, with an objective to achieve the shortest execution time in each iteration. We also apply a set of optimizations to SEP-Graph, considering the characteristics of graph algorithms and underlying GPU architectures. We show the effectiveness of SEP-Graph based on our intensive and comparative performance evaluation on NVIDIA 1080, P100, and V100 GPUs. Compared with existing and representative GPU graph-processing framework Groute and Gunrock, SEP-Graph can reduce execution time up to 45.8 times and 39.4 times.
Hao Wang 0002, Liang Geng, Rubao Lee, Kaixi Hou, Yanfeng Zhang 0001, Xiaodong Zhang 0001
PPoPP4
2018 Highly Efficient Compensation-Based Parallelism for Wavefront Loops on GPUs
abstract
Wavefront loops are widely used in many scientific applications, e.g., partial differential equation (PDE) solvers and sequence alignment tools. However, due to the data dependencies in wavefront loops, it is challenging to fully utilize the abundant compute units of GPUs and to reuse data through their memory hierarchy. Existing solutions can only optimize for these factors to a limited extent. For example, tiling-based methods optimize memory access but may result in load imbalance; while compensation-based methods, which change the original order of computation to expose more parallelism and then compensate for it, suffer from both global synchronization overhead and limited generality. In this paper, we first prove under which circumstances that breaking data dependencies and properly changing the sequence of computation operators in our compensation-based method does not affect the correctness of results. Based on this analysis, we design a highly efficient compensation-based parallelism on GPUs. Our method provides weighted scan-based GPU kernels to optimize the computation and combines with the tiling method to optimize memory access and synchronization. The performance results on the NVIDIA K80 and P100 GPU platforms demonstrate that our method can achieve significant improvements for four types of real-world application kernels over the state-of-the-art research.
Kaixi Hou, Hao Wang 0002, Wu-chun Feng, Jeffrey S. Vetter, Seyong Lee
IPDPS1
2018 A Framework for the Automatic Vectorization of Parallel Sort on x86-Based Processors
abstract
The continued growth in the width of vector registers and the evolving library of intrinsics on the modern x86 processors make manual optimizations for data-level parallelism tedious and error-prone. In this paper, we focus on parallel sorting, a building block for many higher-level applications, and propose a framework for the Automatic SIMDization of Parallel Sorting (ASPaS) on x86-based multiand many-core processors. That is, ASPaS takes any sorting network and a given instruction set architecture (ISA) as inputs and automatically generates vector code for that sorting network. After formalizing the sort function as a sequence of comparators and the transpose and merge functions as sequences of vector-matrix multiplications, ASPaS can map these functions to operations from a selected “pattern pool” that is based on the characteristics of parallel sorting, and then generate the vector code with the real ISA intrinsics. The performance evaluation on the Intel Ivy Bridge and Haswell CPUs, and Knights Corner MIC illustrates that automatically generated sorting codes from ASPaS can outperform the widely used sorting tools, achieving up to 5.2x speedup over the single-threaded implementations from STL and Boost and up to 6.7x speedup over the multi-threaded parallel sort from Intel TBB.
Kaixi Hou, Hao Wang 0002, Wu-chun Feng
IEEE Trans. Parallel Distributed Syst.1
2017 Robotomata: A framework for approximate pattern matching of big data on an automata processor
abstract
Approximate pattern matching (APM) has been widely used in big data applications, e.g., genome data analysis, speech recognition, fraud detection, computer vision, etc. Although an automata-based approach is an efficient way to realize APM, the inherent sequentiality of automata deters its implementation on general-purpose parallel platforms, e.g., multicore CPUs and many-core GPUs. Recently, however, Micron has proposed its Automata Processor (AP), a processing-in-memory (PIM) architecture dedicated for non-deterministic automata (NFA) simulation. It has nominally achieved thousands-fold speedup over a multicore CPU for many big data applications. Alas, the AP ecosystem suffers from two major problems. First, the current APIs of AP require manual manipulations of all computational elements. Second, multiple rounds of time-consuming compilation are needed for large datasets. Both problems hinder programmer productivity and end-to-end performance. Therefore, we propose a paradigm-based approach to hierarchically generate automata on AP and use this approach to create Robotomata, a framework for APM on AP. By taking in the following inputs — the types of APM paradigms, desired pattern length, and allowed number of errors as input — our framework can generate the optimized APM-automata codes on AP, so as to improve programmer productivity. The generated codes can also maximize the reuse of pre-compiled macros and significantly reduce the time for reconfiguration. We evaluate Robotomata by comparing it to two state-of-the-art APM implementations on AP with real-world datasets. Our experimental results show that our generated codes can achieve up to 30.5x and 12.8x speedup with respect to configuration while maintaining the computational performance. Compared to the counterparts on CPU, our codes achieve up to 393x overall speedup, even when including the reconfiguration costs. We highlight the importance of counting the configuration time towards the overall performance on AP, which would provide better insight in identifying essential hardware features, specifically for large-scale problem sizes.
Xiaodong Yu 0001, Kaixi Hou, Hao Wang 0002, Wu-chun Feng
IEEE BigData2
2017 Fast segmented sort on GPUs
abstract
Segmented sort, as a generalization of classical sort, orders a batch of independent segments in a whole array. Along with the wider adoption of manycore processors for HPC and big data applications, segmented sort plays an increasingly important role than sort. In this paper, we present an adaptive segmented sort mechanism on GPUs. Our mechanisms include two core techniques: (1) a differentiated method for different segment lengths to eliminate the irregularity caused by various workloads and thread divergence; and (2) a register-based sort method to support N-to-M data-thread binding and in-register data communication. We also implement a shared memory-based merge method to support non-uniform length chunk merge via multiple warps. Our segmented sort mechanism shows great improvements over the methods from CUB, CUSP and ModernGPU on NVIDIA K80-Kepler and TitanX-Pascal GPUs. Furthermore, we apply our mechanism on two applications, i.e., suffix array construction and sparse matrix-matrix multiplication, and obtain obvious gains over state-of-the-art implementations.
Kaixi Hou, Weifeng Liu 0002, Hao Wang 0002, Wu-chun Feng
ICS1
2017 Exploring and analyzing the real impact of modern on-package memory on HPC scientific kernels
abstract
High-bandwidth On-Package Memory (OPM) innovates the conventional memory hierarchy by augmenting a new on-package layer between classic on-chip cache and off-chip DRAM. Due to its relative location and capacity, OPM is often used as a new type of LLC. Despite the adaptation in modern processors, the performance and power impact of OPM on HPC applications, especially scientific kernels, is still unknown. In this paper, we fill this gap by conducting a comprehensive evaluation for a wide spectrum of scientific kernels with a large amount of representative inputs, including dense, sparse and medium, on two Intel OPMs: eDRAM on multicore Broadwell and MCDRAM on manycore Knights Landing. Guided by our general optimization models, we demonstrate OPM's effectiveness for easing programmers' tuning efforts to reach ideal throughput for both compute-bound and memory-bound applications.
Ang Li 0006, Weifeng Liu 0002, Mads Ruben Burgdorff Kristensen, Brian Vinter, Hao Wang 0002, Kaixi Hou, Andrés Márquez 0001, Shuaiwen Song
SC6
2016 Parallel Transposition of Sparse Data Structures
abstract
Many applications in computational sciences and social sciences exploit sparsity and connectivity of acquired data. Even though many parallel sparse primitives such as sparse matrix-vector (SpMV) multiplication have been extensively studied, some other important building blocks, e.g., parallel transposition for sparse matrices and graphs, have not received the attention they deserve.
Hao Wang 0002, Weifeng Liu 0002, Kaixi Hou, Wu-chun Feng
ICS3
2016 AAlign: A SIMD Framework for Pairwise Sequence Alignment on x86-Based Multi-and Many-Core Processors
abstract
Pairwise sequence alignment algorithms, e.g., Smith-Waterman and Needleman-Wunsch, with adjustable gap penalty systems are widely used in bioinformatics. The strong data dependencies in these algorithms, however, prevents compilers from effectively auto-vectorizing them. When programmers manually vectorize them on multi-and many-core processors, two vectorizing strategies are usually considered, both of which initially ignore data dependencies and then appropriately correct in a subsequent stage: (1) iterate, which vectorizes and then compensates the scoring results with multiple rounds of corrections and (2) scan, which vectorizes and then corrects the scoring results primarily via one round of parallel scan. However, manually writing such vectorizing code efficiently is non-trivial, even for experts, and the code may not be portable across ISAs. In addition, even highly vectorized and optimized codes may not achieve optimal performance because selecting the best vectorizing strategy depends on the algorithms, configurations (gap systems), and input sequences. Therefore, we propose a framework called AAlign to automatically vectorize pairwise sequence alignment algorithms across ISAs. AAlign ingests a sequential code (which follows our generalized paradigm for pairwise sequence alignment) and automatically generates efficient vector code for iterate and scan. To reap the benefits of both vectorization strategies, we propose a hybrid mechanism where AAlign automatically selects the best vectorizing strategy at runtime no matter which algorithms, configurations, and input sequences are specified. On Intel Haswell and MIC, the generated codes for Smith-Waterman and Needleman-Wunsch achieve up to a 26-fold speedup over their sequential counterparts. Compared to the highly optimized and multi-threaded sequence alignment tools, e.g., SWPS3 and SWAPHI, our codes can deliver up to 2.5-fold and 1.6-fold speedups, respectively.
Kaixi Hou, Hao Wang 0002, Wu-chun Feng
IPDPS1
2015 ASPaS: A Framework for Automatic SIMDization of Parallel Sorting on x86-based Many-core Processors
abstract
Due to the difficulty that modern compilers have in vectorizing applications on vector-extension architectures, programmers resort to manually programming vector registers with intrinsics in order to achieve better performance. However, the continued growth in the width of registers and the evolving library of intrinsics make such manual optimizations tedious and error-prone. Hence, we propose a framework for the Automatic SIMDization of Parallel Sorting (ASPaS) on x86-based multicore and manycore processors. That is, ASPaS takes any sorting network and a given instruction set architecture (ISA) as inputs and automatically generates vectorized code for that sorting network.
Kaixi Hou, Hao Wang 0002, Wu-chun Feng
ICS1
2011 Performance Evaluation of the Three-Dimensional Finite-Difference Time-Domain(FDTD) Method on Fermi Architecture GPUs
Kaixi Hou, Ying Zhao 0011, Jiumei Huang, Lingjie Zhang
ICA3PP (1)1
2011 The Research of Levenberg-Marquardt Algorithm in Curve Fittings on Multiple GPUs
abstract
During the study of biological viruses, a large number of fluorescent particle images are photographed by ultra-microscopes in order to observe the motion and variation of viruses. However, due to diffraction effects, the luminance values of these fluorescent images are distributed in the form of the Point Spread Function. Considering the popularity and robustness of the Levenberg-Marquardt Algorithm (LMA), in this paper the LMA is adopted to achieve Gaussian fitting. Because plenty of matrix operations are involved in this algorithm, it is appropriate to take advantage of GPU to deal with this parallel problem. Plus, the increase of the image dataset brings us much trouble, such as the growth of total running time and out-of-memory problem. Therefore, we also achieve quick Gaussian fitting on multiple GPUs. Test and analysis results show that near proportional growth of computing speed can be reached as the number of GPUs increases. And this work also has shown in using different quantity of GPUs, all input image data sizes can obtain some speedup and larger data sizes can obtain more efficient speedup.
Lingjie Zhang, Kaixi Hou
TrustCom3