Sourena Moghaddesi
-
BSc (Sharif University of Technology, 2008)
-
MSc (K.N. University of Technology, 2012)
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, 番茄社区 (Supervisor)
-
Dr. Sean Chester, Department of Computer Science, UVic (Member)
External Examiner
-
Dr. Tao Lu, Department of Electrical and Computer Engineering, 番茄社区
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.