Repository logo
 

ViennaRNA - optimizing a real-world RNA folding program

dc.contributor.authorSave, Vidit V., author
dc.contributor.authorRajopadhye, Sanjay, advisor
dc.contributor.authorPallickara, Shrideep, committee member
dc.contributor.authorMontgomery, Taiowa, committee member
dc.date.accessioned2024-01-01T11:23:51Z
dc.date.available2024-01-01T11:23:51Z
dc.date.issued2023
dc.description.abstractRNA 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.mediumborn digital
dc.format.mediummasters theses
dc.identifierSave_colostate_0053N_18039.pdf
dc.identifier.urihttps://hdl.handle.net/10217/237334
dc.languageEnglish
dc.language.isoeng
dc.publisherColorado State University. Libraries
dc.relation.ispartof2020-
dc.rightsCopyright 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.subjectRNAfold
dc.subjectvectorization
dc.subjecttiling
dc.subjectoptimizations
dc.titleViennaRNA - optimizing a real-world RNA folding program
dc.typeText
dcterms.rights.dplaThis 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.disciplineComputer Science
thesis.degree.grantorColorado State University
thesis.degree.levelMasters
thesis.degree.nameMaster of Science (M.S.)

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Save_colostate_0053N_18039.pdf
Size:
1.34 MB
Format:
Adobe Portable Document Format