Wei-Chung Hsu
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Previous Organizations / Institutes
The organizations / institutes from the scholar's other articles in the past ten years
Wei-Chung Hsu has a total of 120 co-authors. Here are the top co-authors by number of shared publications:
Pen-Chung Yew
University of Minnesota at Twin Cities, Minneapolis, MN, USA
22 shared publicationsJan-Jan Wu
12 shared publicationsAntonia Zhai
University of Minnesota, Twin Cities
10 shared publicationsDing-Yong Hong
10 shared publications- Pangfeng Liu
Department of Computer Science and Information Engineering National Taiwan University Taipei Taiwan
9 shared publications Chun-Chen Hsu
National Taiwan University, Taipei, Taiwan
7 shared publications
Latest Publications
- Open Access
- 5 July 2026
- Published by Association for Computing Machinery (ACM)
- p. 565-575
HoloGraph: Bridging the Throughput Gap in Heterogeneous Graph Pattern Matching via Workload-Aware Steering
- 5 July 2026
- Published by Association for Computing Machinery (ACM)
- p. 565-575
Open AccessHoloGraph: Bridging the Throughput Gap in Heterogeneous Graph Pattern Matching via Workload-Aware Steering
- 1 January 2026
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. 75  (9) , 1-12
Improving Resource Efficiency of Performance-optimized In-memory Big Data Analytics with a Hybrid Static Dynamic Approach
- 1 January 2026
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. 75  (9) , 1-12
Improving Resource Efficiency of Performance-optimized In-memory Big Data Analytics with a Hybrid Static Dynamic Approach
- Open Access
- 16 November 2025
- Published by Association for Computing Machinery (ACM)
- p. 1-8
Adaptive Block Size Selection for Translating Triton Kernels to RVV
- 16 November 2025
- Published by Association for Computing Machinery (ACM)
- p. 1-8
Open AccessAdaptive Block Size Selection for Translating Triton Kernels to RVV
- 25 April 2017
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Multimedia
- Vol. 19  (11) , 2450-2462
A Pipeline-Based Ray-Tracing Runtime System for HSA-Compliant Frameworks
Ray-tracing has received great attention over the years due to the high demand for global illumination appliances. Due to its embarrassingly parallel characteristics, the ray-tracing algorithm has been ported to the graphics processing unit (GPU) on heterogeneous systems that run thousands of threads in a single-instruction-multiple-thread fashion. However, the irregularity of ray-tracing causes a performance penalty on the GPU. The control flow divergence and early-termination problems severely degrade the hardware utilization, which makes the GPU computation inefficient while traversing through each iteration of the algorithm. Furthermore, additional overheads caused by data marshalling and load unbalancing negate the benefits of using heterogeneous systems. To tackle these issues, we designed a pipeline-based runtime methodology that leverages the features of heterogeneous system architecture (HSA)-compliant heterogeneous frameworks, such as shared virtual memory and fast kernel dispatching. This method merges the workloads from different iteration stages and dispatches them simultaneously. The merged workload is further assigned to a heterogeneous queue to enhance load balancing and scalability. With the proposed technologies, the performance of ray-tracing is enhanced significantly while effectively increasing the utilization of HSA-compliant heterogeneous systems. Based on the experiment results, the throughput becomes 4.37 times greater than the original setup on average in a single GPU mode and would always yield a greater throughput with a heterogeneous queue on multiple cores.
- 25 April 2017
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Multimedia
- Vol. 19  (11) , 2450-2462
A Pipeline-Based Ray-Tracing Runtime System for HSA-Compliant Frameworks
Ray-tracing has received great attention over the years due to the high demand for global illumination appliances. Due to its embarrassingly parallel characteristics, the ray-tracing algorithm has been ported to the graphics processing unit (GPU) on heterogeneous systems that run thousands of threads in a single-instruction-multiple-thread fashion. However, the irregularity of ray-tracing causes a performance penalty on the GPU. The control flow divergence and early-termination problems severely degrade the hardware utilization, which makes the GPU computation inefficient while traversing through each iteration of the algorithm. Furthermore, additional overheads caused by data marshalling and load unbalancing negate the benefits of using heterogeneous systems. To tackle these issues, we designed a pipeline-based runtime methodology that leverages the features of heterogeneous system architecture (HSA)-compliant heterogeneous frameworks, such as shared virtual memory and fast kernel dispatching. This method merges the workloads from different iteration stages and dispatches them simultaneously. The merged workload is further assigned to a heterogeneous queue to enhance load balancing and scalability. With the proposed technologies, the performance of ray-tracing is enhanced significantly while effectively increasing the utilization of HSA-compliant heterogeneous systems. Based on the experiment results, the throughput becomes 4.37 times greater than the original setup on average in a single GPU mode and would always yield a greater throughput with a heterogeneous queue on multiple cores.
- 1 December 2016
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 853-860
Exploiting Longer SIMD Lanes in Dynamic Binary Translation
Recent trends in SIMD architecture have tended toward longer vector lengths and more enhanced SIMD features have been introduced in the newer vector instruction sets. However, legacy or proprietary applications compiled with short-SIMD ISA cannot benefit from the long-SIMD architecture, which supports improved parallelism and enhanced vector primitives, and thus only achieve a small fraction of potential peak performance. This paper presents a dynamic binary translation technique that enables short-SIMD binaries to exploit the benefits of the new SIMD architecture by rewriting short-SIMD loop code. We propose a general approach that translates loops consisting of short-SIMD instructions to machine-independent IR, conducts SIMD loop transformation/optimization at this IR level, and finally translates to long-SIMD instructions. Two solutions are presented to enforce SIMD load/store alignment, one for the problem caused by the binary translator's internal translation condition and one general approach using loop peeling optimization. The benchmark results show that an average speedup of 1.45X is achieved for NEON to AVX2 loop transformation.
- 1 December 2016
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 853-860
Exploiting Longer SIMD Lanes in Dynamic Binary Translation
Recent trends in SIMD architecture have tended toward longer vector lengths and more enhanced SIMD features have been introduced in the newer vector instruction sets. However, legacy or proprietary applications compiled with short-SIMD ISA cannot benefit from the long-SIMD architecture, which supports improved parallelism and enhanced vector primitives, and thus only achieve a small fraction of potential peak performance. This paper presents a dynamic binary translation technique that enables short-SIMD binaries to exploit the benefits of the new SIMD architecture by rewriting short-SIMD loop code. We propose a general approach that translates loops consisting of short-SIMD instructions to machine-independent IR, conducts SIMD loop transformation/optimization at this IR level, and finally translates to long-SIMD instructions. Two solutions are presented to enforce SIMD load/store alignment, one for the problem caused by the binary translator's internal translation condition and one general approach using loop peeling optimization. The benchmark results show that an average speedup of 1.45X is achieved for NEON to AVX2 loop transformation.
- 29 August 2016
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-6
A pipeline-based runtime technique for improving Ray-Tracing on HSA-compliant systems
The prevalence of real time multimedia delivery appliances has led to the developments of a variety of efficient architectures and supporting software technologies. Especially, Ray-Tracing, a well-known physically-based rendering algorithm, has been receiving great attention in research and development. Unfortunately, Ray-Tracing algorithm, being one of the irregular applications, suffers from the performance penalty on SIMT-based machines such as GPGPUs. Specifically, the branch divergence and early-termination issues caused by the irregularity severely degrade the overall hardware utilization, which makes the computation on GPGPU inefficient while traversing through each iterative stages of the algorithm. The probabilistic termination of ray-tracing paths poses a critical issue for efficient parallel execution on GPGPUs. Moreover, the conventional overhead of memory transfer limits the effectiveness of data marshaling for GPU computing. To address these problems, we proposed a pipeline-based Runtime technique which leverages the feature of Shared-Virtual-Memory (SVM) of the HSA-compliant systems that combines and regroups the workload from different stages into one kernel computation in Ray-Tracing and greatly improved the resource utilization of GPGPU. Our experiments illustrate that the proposed runtime technique can boost ray-tracing performance significantly while effectively increase the utilization of HSA-compliant heterogeneous systems.
- 29 August 2016
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-6
A pipeline-based runtime technique for improving Ray-Tracing on HSA-compliant systems
The prevalence of real time multimedia delivery appliances has led to the developments of a variety of efficient architectures and supporting software technologies. Especially, Ray-Tracing, a well-known physically-based rendering algorithm, has been receiving great attention in research and development. Unfortunately, Ray-Tracing algorithm, being one of the irregular applications, suffers from the performance penalty on SIMT-based machines such as GPGPUs. Specifically, the branch divergence and early-termination issues caused by the irregularity severely degrade the overall hardware utilization, which makes the computation on GPGPU inefficient while traversing through each iterative stages of the algorithm. The probabilistic termination of ray-tracing paths poses a critical issue for efficient parallel execution on GPGPUs. Moreover, the conventional overhead of memory transfer limits the effectiveness of data marshaling for GPU computing. To address these problems, we proposed a pipeline-based Runtime technique which leverages the feature of Shared-Virtual-Memory (SVM) of the HSA-compliant systems that combines and regroups the workload from different stages into one kernel computation in Ray-Tracing and greatly improved the resource utilization of GPGPU. Our experiments illustrate that the proposed runtime technique can boost ray-tracing performance significantly while effectively increase the utilization of HSA-compliant heterogeneous systems.
- Open Access
- 25 March 2016
- Published by Association for Computing Machinery (ACM)
- p. 3-15
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compliant System
- 25 March 2016
- Published by Association for Computing Machinery (ACM)
- p. 3-15
Open AccessBuilding a KVM-based Hypervisor for a Heterogeneous System Architecture Compliant System
- 5 February 2016
- Published by Elsevier
- p. 159-183
HSA Simulators
- Open Access
- 8 December 2015
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Architecture and Code Optimization
- Vol. 12  (4) , 1-24
Optimizing Control Transfer and Memory Virtualization in Full System Emulators
Full system emulators provide virtual platforms for several important applications, such as kernel and system software development, co-verification with cycle accurate CPU simulators, or application development for hardware still in development. Full system emulators usually use dynamic binary translation to obtain reasonable performance. This paper focuses on optimizing the performance of full system emulators. First, we optimize performance by enabling classic control transfer optimizations of dynamic binary translation in full system emulation, such as indirect branch target caching and block chaining. Second, we improve the performance of memory virtualization of cross-ISA virtual machines by improving the efficiency of the software translation lookaside buffer (software TLB). We implement our optimizations on QEMU, an industrial-strength full system emulator, along with the Android emulator. Experimental results show that our optimizations achieve an average speedup of 1.98X for ARM-to-X86-64 QEMU running SPEC CINT2006 benchmarks with train inputs. Our optimizations also achieve an average speedup of 1.44X and 1.40X for IA32-to-X86-64 QEMU and AArch64-to-X86-64 QEMU on SPEC CINT2006. We use a set of real applications downloaded from Google Play as benchmarks for the Android emulator. Experimental results show that our optimizations achieve an average speedup of 1.43X for the Android emulator running these applications.
- 8 December 2015
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Architecture and Code Optimization
- Vol. 12  (4) , 1-24
Open AccessOptimizing Control Transfer and Memory Virtualization in Full System Emulators
Full system emulators provide virtual platforms for several important applications, such as kernel and system software development, co-verification with cycle accurate CPU simulators, or application development for hardware still in development. Full system emulators usually use dynamic binary translation to obtain reasonable performance. This paper focuses on optimizing the performance of full system emulators. First, we optimize performance by enabling classic control transfer optimizations of dynamic binary translation in full system emulation, such as indirect branch target caching and block chaining. Second, we improve the performance of memory virtualization of cross-ISA virtual machines by improving the efficiency of the software translation lookaside buffer (software TLB). We implement our optimizations on QEMU, an industrial-strength full system emulator, along with the Android emulator. Experimental results show that our optimizations achieve an average speedup of 1.98X for ARM-to-X86-64 QEMU running SPEC CINT2006 benchmarks with train inputs. Our optimizations also achieve an average speedup of 1.44X and 1.40X for IA32-to-X86-64 QEMU and AArch64-to-X86-64 QEMU on SPEC CINT2006. We use a set of real applications downloaded from Google Play as benchmarks for the Android emulator. Experimental results show that our optimizations achieve an average speedup of 1.43X for the Android emulator running these applications.
- 1 December 2015
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 507-514
SIMD Code Translation in an Enhanced HQEMU
HQEMU is a multi-threaded and retargetable dynamic binary translator built on top of QEMU and LLVM. It combines the fast and reliable code translation in the TCG (Tiny Code Generator) of QEMU and the rich optimizations in LLVM to achieve high performance for both short running and long running applications. One weakness of HQEMU lies in the lack of efficient SIMD instruction translation. This work investigates on how to remedy that. Two approaches have been designed and tested. One simple approach is to modify the help function to emit LLVM vector IR, and a more complete approach is to add a newly introduced vector IR in the TCG phase. Although both approaches can exploit the SIMD instructions of the host machine, the second and more complete approach has superior runtime as well as compile time advantages.
- 1 December 2015
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 507-514
SIMD Code Translation in an Enhanced HQEMU
HQEMU is a multi-threaded and retargetable dynamic binary translator built on top of QEMU and LLVM. It combines the fast and reliable code translation in the TCG (Tiny Code Generator) of QEMU and the rich optimizations in LLVM to achieve high performance for both short running and long running applications. One weakness of HQEMU lies in the lack of efficient SIMD instruction translation. This work investigates on how to remedy that. Two approaches have been designed and tested. One simple approach is to modify the help function to emit LLVM vector IR, and a more complete approach is to add a newly introduced vector IR in the TCG phase. Although both approaches can exploit the SIMD instructions of the host machine, the second and more complete approach has superior runtime as well as compile time advantages.