Skip to main content

Sourena Moghaddesi

  • BSc (Sharif University of Technology, 2008)

  • MSc (K.N. University of Technology, 2012)

Notice of the Final Oral Examination for the Degree of Master of Science

Topic

Vectron: A Dynamic Programming Auto-Vectorization Framework

Department of Electrical and Computer Engineering

Date & location

  • Friday, September 27, 2024

  • 10:00 A.M.

  • Engineering Computer Science Building

    Room 467

Reviewers

Supervisory Committee

  • Dr. Ibrahim Numanagic, Department of Computer Science, University of Victoria (Supervisor)

  • Dr. Sean Chester, Department of Computer Science, UVic (Member)

External Examiner

  • Dr. Tao Lu, Department of Electrical and Computer Engineering, University of Victoria

Chair of Oral Examination

  • Dr. Timothy Iles, Department of Pacific and Asian Studies, UVic 

Abstract

Dynamic programming (DP) is a fundamental algorithmic strategy that decom poses large problems into manageable subproblems. It is a cornerstone of many important computational methods in diverse fields, especially in the field of computational genomics, where it is used for sequence comparison. However, as the scale of the data keeps increasing, these algorithms are becoming a major computational bottle neck, and there is a need for strategies that can improve their performance. Here, we present Vectron, a novel auto-vectorization suite that targets array-based DP implementations written in Python and converts them to efficient vectorized counterparts that can efficiently process multiple problem instances in parallel. Leveraging Single Instruction Multiple Data (SIMD) capabilities in modern CPUs, along with Graphics Processing Units (GPUs), Vectron delivers significant speedups, ranging from 10% to more than 20×, over the conventional C++ implementations and manually vectorized and domain-specific state-of-the-art implementations, without necessitating large algorithm or code changes. Vectron’s generality enables automatic vectorization of any array-based DP algorithm and, as a result, presents an attractive solution to optimization challenges inherent to DP algorithms.