Abstract
RNA secondary structure prediction is a computationally-intensive task that lies at the core of search applications in bioinformatics. In this paper, we consider Zuker’s RNA folding algorithm, which is challenging to optimize because it is resource intensive and has a large number of non-uniform dependences. We describe the application of a previously published approach, proposed by us, to automatic tiling Zuker’s RNA Folding loop nest using the exact polyhedral representation of dependences exposed for this nest. First, rectangular tiles are formed within the iteration space of Zuker’s loop nest. Then tiles are corrected to honor all dependences, exposed for the original loop nest, by means of applying the exact transitive closure of a dependence graph. We implemented our approach as a part of the source-to-source TRACO compiler. The experimental results present the significant speed-up factor of tiled code on a single core of a modern processor. Related work and future algorithm improvements are discussed.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
without non-existing dependence relations.
- 2.
The notation x ≥ (≤) y where x, y are two vectors in Z n corresponds to the component-wise inequality, that is, x ≥ (≤) y \( \Leftrightarrow \) x i ≥ (≤) y i , i = 1, 2, …, n.
References
Bielecki, W., Klimek, T., Palkowski, M., Beletska, A.: An iterative algorithm of computing the transitive closure of a union of parameterized affine integer tuple relations. In: COCOA 2010. LNCS, vol. 6508/2010, pp. 104–113 (2010)
Bielecki, W., Palkowski, M.: Tiling of arbitrarily nested loops by means of the transitive closure of dependence graphs. Int. J. Appl. Math. Comput. Sci. (AMCS) 26(4), 919–939 (2016)
Bondhugula, U., Acharya, A., Cohen, A.: The Pluto+ algorithm: a practical approach for parallelization and locality optimization of affine loop nests. ACM Trans. Program. Lang. Syst. 38(3), 12:1–12:32 (2016)
Bondhugula, U., et al.: A practical automatic polyhedral parallelizer and locality optimizer. SIGPLAN Not. 43(6), 101–113 (2008)
Eddy, S.: How do RNA folding algorithms work? Nat. Biotechnol. 22(11), 1457–1458 (2004)
Griebl, M.: Automatic parallelization of loop programs for distributed memory architectures (2004)
Irigoin, F., Triolet, R.: Supernode partitioning. In: Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1988, pp. 319–329. ACM, New York (1988)
Jacob, A.C., Buhler, J.D., Chamberlain, R.D.: Rapid RNA folding: analysis and acceleration of the Zuker recurrence. In: 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines, pp. 87–94 (2010)
Jiang, T., Zhang, M., Xu, Y. (eds.): Current Topics in Computational Molecular Biology. MIT Press, Cambridge (2002)
Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The omega library interface guide. Technical report. College Park, MD, USA (1995)
Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: New User Interface for Petit and Other Extensions (1996)
Liu, L., Wang, M., Jiang, J., Li, R., Yang, G.: Efficient nonserial polyadic dynamic programming on the cell processor. In: IPDPS Workshops, pp. 460–471. IEEE, Alaska (2011)
Markham, N.R., Zuker, M.: UNAFold, pp. 3–31. Humana Press, Totowa (2008)
Mathuriya, A., Bader, D.A., Heitsch, C.E., Harvey, S.C.: Gtfold: a scalable multi-core code for RNA secondary structure prediction. In: Proceedings of the 2009 ACM Symposium on Applied Computing, SAC 2009, pp. 981–988. ACM, New York (2009)
Mullapudi, R.T., Bondhugula, U.: Tiling for dynamic scheduling. In: Rajopadhye, S., Verdoolaege, S. (eds.) Proceedings of the 4th International Workshop on Polyhedral Compilation Techniques, Vienna, Austria (2014)
Palkowski, M., Bielecki, W.: Parallel tiled Nussinov RNA folding loop nest generated using both dependence graph transitive closure and loop skewing. BMC Bioinform. 18(1), 290 (2017)
Pugh, W., Wonnacott, D.: An exact method for analysis of value-based array data dependences. In: Sixth Annual Workshop on Programming Languages and Compilers for Parallel Computing. Springer (1993)
Verdoolaege, S.: Integer set library - manual. Technical report (2011). www.kotnet.org/~skimo//isl/manual.pdf
Wonnacott, D., Jin, T., Lake, A.: Automatic tiling of “mostly-tileable” loop nests. In: 5th International Workshop on Polyhedral Compilation Techniques, IMPACT 2015, Amsterdam, The Netherlands (2015)
Xue, J.: Loop Tiling for Parallelism. Kluwer Academic Publishers, Norwell (2000)
Zuker, M., Stiegler, P.: Optimal computer folding of large RNA sequences using thermodynamics and auxiliary information. Nucleic Acids Res. 9(1), 133–148 (1981)
Acknowledgments
Thanks to the Miclab Team (miclab.pl) from the Technical University of Czestochowa (Poland) that provided access to high performance machines for the experimental study presented in this paper.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this paper
Cite this paper
Palkowski, M., Bielecki, W. (2018). A Practical Approach to Tiling Zuker’s RNA Folding Using the Transitive Closure of Loop Dependence Graphs. In: Świątek, J., Borzemski, L., Wilimowska, Z. (eds) Information Systems Architecture and Technology: Proceedings of 38th International Conference on Information Systems Architecture and Technology – ISAT 2017. ISAT 2017. Advances in Intelligent Systems and Computing, vol 656. Springer, Cham. https://doi.org/10.1007/978-3-319-67229-8_18
Download citation
DOI: https://doi.org/10.1007/978-3-319-67229-8_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-67228-1
Online ISBN: 978-3-319-67229-8
eBook Packages: EngineeringEngineering (R0)