Taking RNA-RNA Interaction to Machine Peak
Chiranjeb Mondal,Sanjay Rajopadhye
DOI: https://doi.org/10.1109/tpds.2024.3380443
IF: 5.3
2024-04-10
IEEE Transactions on Parallel and Distributed Systems
Abstract:RNA-RNA interactions (RRIs) are essential in many biological processes, including gene transcription, translation, and localization. They play a critical role in diseases such as cancer and Alzheimer's. Algorithms to model RRI typically use dynamic programming and have the complexity Θ(N3M3) in time and Θ(N2M2) in space where N and M are the lengths of the two RNA sequences. This makes it both essential and challenging to parallelize them. Previous efforts to do so have been hand-optimized, which is prone to human error and costly to develop and maintain. This paper presents a multi-core CPU parallelization of BPMax, one of the simpler RRI algorithms, generated by a user-guided polyhedral code generation tool, AlphaZ. The user starts with a mathematical specification of the dynamic programming algorithm and provides the choice of polyhedral program transformations such as schedules, memory-maps, and multi-level tiling. AlphaZ automatically generates highly optimized code. At the lowest level, we implemented a small hand-optimized register-tiled "matrix max-plus" kernel and integrated it with our tool-generated optimized code. Our final optimized program version is about 400× faster than the base program, translating to around 312 GFLOPS, more than half of our platform's Roofline Machine Peak (RMP) performance. On a single core, we attain 80% of RMP. The main kernel in the algorithm, whose complexity is Θ(N3M3), attains 58 GFLOPS on a single-core and 344 GFLOPS on multi-core (90% and 58% of RMP, respectively).
computer science, theory & methods,engineering, electrical & electronic