Skip to main content

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 656))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    without non-existing dependence relations.

  2. 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

  1. 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)

    Google Scholar 

  2. 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)

    MathSciNet  MATH  Google Scholar 

  3. 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)

    Article  Google Scholar 

  4. Bondhugula, U., et al.: A practical automatic polyhedral parallelizer and locality optimizer. SIGPLAN Not. 43(6), 101–113 (2008)

    Article  Google Scholar 

  5. Eddy, S.: How do RNA folding algorithms work? Nat. Biotechnol. 22(11), 1457–1458 (2004)

    Article  Google Scholar 

  6. Griebl, M.: Automatic parallelization of loop programs for distributed memory architectures (2004)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. Jiang, T., Zhang, M., Xu, Y. (eds.): Current Topics in Computational Molecular Biology. MIT Press, Cambridge (2002)

    Google Scholar 

  10. Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The omega library interface guide. Technical report. College Park, MD, USA (1995)

    Google Scholar 

  11. Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: New User Interface for Petit and Other Extensions (1996)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Markham, N.R., Zuker, M.: UNAFold, pp. 3–31. Humana Press, Totowa (2008)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Article  Google Scholar 

  17. 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)

    Google Scholar 

  18. Verdoolaege, S.: Integer set library - manual. Technical report (2011). www.kotnet.org/~skimo//isl/manual.pdf

  19. 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)

    Google Scholar 

  20. Xue, J.: Loop Tiling for Parallelism. Kluwer Academic Publishers, Norwell (2000)

    Book  MATH  Google Scholar 

  21. Zuker, M., Stiegler, P.: Optimal computer folding of large RNA sequences using thermodynamics and auxiliary information. Nucleic Acids Res. 9(1), 133–148 (1981)

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Marek Palkowski .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics