ViennaRNA - optimizing a real-world RNA folding program
dc.contributor.author | Save, Vidit V., author | |
dc.contributor.author | Rajopadhye, Sanjay, advisor | |
dc.contributor.author | Pallickara, Shrideep, committee member | |
dc.contributor.author | Montgomery, Taiowa, committee member | |
dc.date.accessioned | 2024-01-01T11:23:51Z | |
dc.date.available | 2024-01-01T11:23:51Z | |
dc.date.issued | 2023 | |
dc.description.abstract | RNA folding is the dynamic process of intra-molecular interactions that makes a linear RNA molecule acquire a secondary structure. Predicting the acquired secondary structure is critical for gene regulation, disease characterization, and improving drug design. ViennaRNA is a highly utilized tool in the synthetic biology community to predict RNA secondary structures. This package is constantly updated to add new features and uses techniques like vectorization to boost its single-core performance. However, reviewing the package revealed that adopting known HPC optimizations to the code base could significantly improve the current performance. Optimizing a program with over 10k lines of code creates several software engineering challenges. Hence, toy kernels that mimic the code's behavior were initially used to explore possible optimizations. These kernels helped save compilation time and boil down the optimization process for the multi-branch loop prediction, a part of RNAfold, to five simple steps. On applying the optimizations described in this thesis, a 2X speedup can be observed for the entire program with a 4.2X speedup for the optimized part of the code. Using Intel's Roofline toolkit shows that applying these optimizations helped achieve cache utilization close to the theoretical L1 bandwidth of the machine. As a part of this thesis, incremental patches were created to integrate optimizations without disrupting the code base while ensuring the program's correctness. | |
dc.format.medium | born digital | |
dc.format.medium | masters theses | |
dc.identifier | Save_colostate_0053N_18039.pdf | |
dc.identifier.uri | https://hdl.handle.net/10217/237334 | |
dc.language | English | |
dc.language.iso | eng | |
dc.publisher | Colorado State University. Libraries | |
dc.relation.ispartof | 2020- | |
dc.rights | Copyright and other restrictions may apply. User is responsible for compliance with all applicable laws. For information about copyright law, please see https://libguides.colostate.edu/copyright. | |
dc.subject | RNAfold | |
dc.subject | vectorization | |
dc.subject | tiling | |
dc.subject | optimizations | |
dc.title | ViennaRNA - optimizing a real-world RNA folding program | |
dc.type | Text | |
dcterms.rights.dpla | This Item is protected by copyright and/or related rights (https://rightsstatements.org/vocab/InC/1.0/). You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s). | |
thesis.degree.discipline | Computer Science | |
thesis.degree.grantor | Colorado State University | |
thesis.degree.level | Masters | |
thesis.degree.name | Master of Science (M.S.) |
Files
Original bundle
1 - 1 of 1
Loading...
- Name:
- Save_colostate_0053N_18039.pdf
- Size:
- 1.34 MB
- Format:
- Adobe Portable Document Format