Cargando…
Parallel tiled Nussinov RNA folding loop nest generated using both dependence graph transitive closure and loop skewing
BACKGROUND: RNA secondary structure prediction is a compute intensive task that lies at the core of several search algorithms in bioinformatics. Fortunately, the RNA folding approaches, such as the Nussinov base pair maximization, involve mathematical operations over affine control loops whose itera...
Autores principales: | , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
BioMed Central
2017
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5457642/ https://www.ncbi.nlm.nih.gov/pubmed/28578661 http://dx.doi.org/10.1186/s12859-017-1707-8 |
_version_ | 1783241585961467904 |
---|---|
author | Palkowski, Marek Bielecki, Wlodzimierz |
author_facet | Palkowski, Marek Bielecki, Wlodzimierz |
author_sort | Palkowski, Marek |
collection | PubMed |
description | BACKGROUND: RNA secondary structure prediction is a compute intensive task that lies at the core of several search algorithms in bioinformatics. Fortunately, the RNA folding approaches, such as the Nussinov base pair maximization, involve mathematical operations over affine control loops whose iteration space can be represented by the polyhedral model. Polyhedral compilation techniques have proven to be a powerful tool for optimization of dense array codes. However, classical affine loop nest transformations used with these techniques do not optimize effectively codes of dynamic programming of RNA structure predictions. RESULTS: The purpose of this paper is to present a novel approach allowing for generation of a parallel tiled Nussinov RNA loop nest exposing significantly higher performance than that of known related code. This effect is achieved due to improving code locality and calculation parallelization. In order to improve code locality, we apply our previously published technique of automatic loop nest tiling to all the three loops of the Nussinov loop nest. This approach first forms original rectangular 3D tiles and then corrects them to establish their validity by means of applying the transitive closure of a dependence graph. To produce parallel code, we apply the loop skewing technique to a tiled Nussinov loop nest. CONCLUSIONS: The technique is implemented as a part of the publicly available polyhedral source-to-source TRACO compiler. Generated code was run on modern Intel multi-core processors and coprocessors. We present the speed-up factor of generated Nussinov RNA parallel code and demonstrate that it is considerably faster than related codes in which only the two outer loops of the Nussinov loop nest are tiled. |
format | Online Article Text |
id | pubmed-5457642 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2017 |
publisher | BioMed Central |
record_format | MEDLINE/PubMed |
spelling | pubmed-54576422017-06-06 Parallel tiled Nussinov RNA folding loop nest generated using both dependence graph transitive closure and loop skewing Palkowski, Marek Bielecki, Wlodzimierz BMC Bioinformatics Research Article BACKGROUND: RNA secondary structure prediction is a compute intensive task that lies at the core of several search algorithms in bioinformatics. Fortunately, the RNA folding approaches, such as the Nussinov base pair maximization, involve mathematical operations over affine control loops whose iteration space can be represented by the polyhedral model. Polyhedral compilation techniques have proven to be a powerful tool for optimization of dense array codes. However, classical affine loop nest transformations used with these techniques do not optimize effectively codes of dynamic programming of RNA structure predictions. RESULTS: The purpose of this paper is to present a novel approach allowing for generation of a parallel tiled Nussinov RNA loop nest exposing significantly higher performance than that of known related code. This effect is achieved due to improving code locality and calculation parallelization. In order to improve code locality, we apply our previously published technique of automatic loop nest tiling to all the three loops of the Nussinov loop nest. This approach first forms original rectangular 3D tiles and then corrects them to establish their validity by means of applying the transitive closure of a dependence graph. To produce parallel code, we apply the loop skewing technique to a tiled Nussinov loop nest. CONCLUSIONS: The technique is implemented as a part of the publicly available polyhedral source-to-source TRACO compiler. Generated code was run on modern Intel multi-core processors and coprocessors. We present the speed-up factor of generated Nussinov RNA parallel code and demonstrate that it is considerably faster than related codes in which only the two outer loops of the Nussinov loop nest are tiled. BioMed Central 2017-06-02 /pmc/articles/PMC5457642/ /pubmed/28578661 http://dx.doi.org/10.1186/s12859-017-1707-8 Text en © The Author(s) 2017 Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver(http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated. |
spellingShingle | Research Article Palkowski, Marek Bielecki, Wlodzimierz Parallel tiled Nussinov RNA folding loop nest generated using both dependence graph transitive closure and loop skewing |
title | Parallel tiled Nussinov RNA folding loop nest generated using both dependence graph transitive closure and loop skewing |
title_full | Parallel tiled Nussinov RNA folding loop nest generated using both dependence graph transitive closure and loop skewing |
title_fullStr | Parallel tiled Nussinov RNA folding loop nest generated using both dependence graph transitive closure and loop skewing |
title_full_unstemmed | Parallel tiled Nussinov RNA folding loop nest generated using both dependence graph transitive closure and loop skewing |
title_short | Parallel tiled Nussinov RNA folding loop nest generated using both dependence graph transitive closure and loop skewing |
title_sort | parallel tiled nussinov rna folding loop nest generated using both dependence graph transitive closure and loop skewing |
topic | Research Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5457642/ https://www.ncbi.nlm.nih.gov/pubmed/28578661 http://dx.doi.org/10.1186/s12859-017-1707-8 |
work_keys_str_mv | AT palkowskimarek paralleltilednussinovrnafoldingloopnestgeneratedusingbothdependencegraphtransitiveclosureandloopskewing AT bieleckiwlodzimierz paralleltilednussinovrnafoldingloopnestgeneratedusingbothdependencegraphtransitiveclosureandloopskewing |