Yu-Ching Hu

Hi everyone! I am a PhD candidate in the department of Computer Science and Engineering at UC Riverside. My research interests include heterogeneous computing, storage systems, machine learning frameworks, database, high-performance computing and performance optimization.

[Resume][Google Scholar][LinkedIn]

Education

University of California, Riverside (Ph.D., Computer Science and Engineering, 2017-present)
Advisor: Dr. Hung-Wei Tseng

University of California, San Diego (M.S., Materials Science and Engineering, 2017)

National Sun Yat-Sen University (B.S., Materials and Optoelectronic Science, 2013)

Primary Research Projects

Cross-Platform, Multi-Device AI/ML Applications

  • Developed a benchmark suite featuring representative data management models for interactive AI/ML-based applications across diverse hardware platforms, including Jetson Nano/Orin and high-end servers, using Py- Torch, TensorFlow, and C++.
  • Proposed a device-agnostic language to generically formulate tasks and assess the performance of complex multimodal pipelines across diverse computing platforms, and identified that the Multi-Device Machine Learning (MDML) data management model achieved performance levels close to those of Data-Center Machine Learning (DCML) while realizing a remarkable 35% energy savings.

Accelerating the Performance of Database Applications Using Tensor Core Units

  • Designed algorithms to transform database operators, including join, group by, and aggregate functions into matrix/tensor algebra to leverage matrix processing in modern AI/ML hardware accelerators (paper accepted by SIGMOD 2022).
  • Developed a database query engine that utilizes matrix-based database operators using NVIDIA’s reduced-precision Tensor Core Units to speed up data analytics including entity matching, graph analysis, and data warehouse queries by up to 288x over the conventional GPU-based operators using C/C++/CUDA.

Near-Data Approximate Computing

  • Designed and developed a storage system that complements conventional approximate computing systems by offloading the data preparation stage to the controllers in modern non-volatile memory-based solid-state devices. The resulting system can accelerate a set of applications by 1.52x without significantly affecting the accuracy (paper accepted by MICRO 2019 with best paper runner-up).
  • Developed approximate computing kernels for several machine learning, data mining, image processing, and scientific computing applications using Python and C/C++ to achieve 1.61x speedup of these applications’ compute kernels.

Improving the Performance of Machine Learning Applications in Heterogeneous Computers

  • Developed a framework to profile the GPU memory utilization for TensorFlow-based machine learning applications running on AMD’s ROCm (RadeonOpenCompute) platform using Python.
  • Helped to design and implement a Linux NVMe driver and library functions to provide PCIe peer-to-peer data exchange support between NVMe SSDs and an AMD GPU for AMD’s ROCm/HIP platform using C/C++.

Work Experience

  • Research Intern, Microsoft Corp., Remote Jun. 2022–Sep. 2022 Advisor: Dr. Matteo Interlandi
  • Software Engineer Intern, Samsung America, San Jose May 2018–Aug. 2018 Advisor: Dr. Pankaj Mehra and Dr. Yang-Suk Kee
  • Research Assistant, San Diego Supercomputer Center Jul. 2016–Apr. 2017 Advisor: Dr. Andreas Go ̈tz

Programming Skills

  • C, C++, CUDA, Python

Publications