Vectron: A dynamic programming auto vectorization framework
dc.contributor.author | Naser Moghaddasi, Sourena | |
dc.contributor.supervisor | Numanagić, Ibrahim | |
dc.date.accessioned | 2024-10-03T16:56:34Z | |
dc.date.available | 2024-10-03T16:56:34Z | |
dc.date.issued | 2024 | |
dc.degree.department | Department of Computer Science | |
dc.degree.level | Master of Science MSc | |
dc.description.abstract | Dynamic programming (DP) is a fundamental algorithmic strategy that decomposes 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 bottleneck, 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 20x, 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. | |
dc.description.scholarlevel | Graduate | |
dc.identifier.uri | https://hdl.handle.net/1828/20479 | |
dc.language | English | eng |
dc.language.iso | en | |
dc.rights | Available to the World Wide Web | |
dc.subject | Auto Vectorization | |
dc.title | Vectron: A dynamic programming auto vectorization framework | |
dc.type | Thesis |