• 文献检索
  • 文档翻译
  • 深度研究
  • 学术资讯
  • Suppr Zotero 插件Zotero 插件
  • 邀请有礼
  • 套餐&价格
  • 历史记录
应用&插件
Suppr Zotero 插件Zotero 插件浏览器插件Mac 客户端Windows 客户端微信小程序
定价
高级版会员购买积分包购买API积分包
服务
文献检索文档翻译深度研究API 文档MCP 服务
关于我们
关于 Suppr公司介绍联系我们用户协议隐私条款
关注我们

Suppr 超能文献

核心技术专利:CN118964589B侵权必究
粤ICP备2023148730 号-1Suppr @ 2026

文献检索

告别复杂PubMed语法,用中文像聊天一样搜索,搜遍4000万医学文献。AI智能推荐,让科研检索更轻松。

立即免费搜索

文件翻译

保留排版,准确专业,支持PDF/Word/PPT等文件格式,支持 12+语言互译。

免费翻译文档

深度研究

AI帮你快速写综述,25分钟生成高质量综述,智能提取关键信息,辅助科研写作。

立即免费体验

基于 Tuning 迭代空间切片的分块多核代码实现 Nussinov 的 RNA 折叠。

Tuning iteration space slicing based tiled multi-core code implementing Nussinov's RNA folding.

机构信息

West Pomeranian University of Technology, Faculty of Computer Science, Zolnierska 49, Szczecin, 71-210, Poland.

出版信息

BMC Bioinformatics. 2018 Jan 15;19(1):12. doi: 10.1186/s12859-018-2008-6.

DOI:10.1186/s12859-018-2008-6
PMID:29334891
原文链接:https://pmc.ncbi.nlm.nih.gov/articles/PMC5769393/
Abstract

BACKGROUND

RNA folding is an ongoing compute-intensive task of bioinformatics. Parallelization and improving code locality for this kind of algorithms is one of the most relevant areas in computational biology. Fortunately, RNA secondary structure approaches, such as Nussinov's recurrence, involve mathematical operations over affine control loops whose iteration space can be represented by the polyhedral model. This allows us to apply powerful polyhedral compilation techniques based on the transitive closure of dependence graphs to generate parallel tiled code implementing Nussinov's RNA folding. Such techniques are within the iteration space slicing framework - the transitive dependences are applied to the statement instances of interest to produce valid tiles. The main problem at generating parallel tiled code is defining a proper tile size and tile dimension which impact parallelism degree and code locality.

RESULTS

To choose the best tile size and tile dimension, we first construct parallel parametric tiled code (parameters are variables defining tile size). With this purpose, we first generate two nonparametric tiled codes with different fixed tile sizes but with the same code structure and then derive a general affine model, which describes all integer factors available in expressions of those codes. Using this model and known integer factors present in the mentioned expressions (they define the left-hand side of the model), we find unknown integers in this model for each integer factor available in the same fixed tiled code position and replace in this code expressions, including integer factors, with those including parameters. Then we use this parallel parametric tiled code to implement the well-known tile size selection (TSS) technique, which allows us to discover in a given search space the best tile size and tile dimension maximizing target code performance.

CONCLUSIONS

For a given search space, the presented approach allows us to choose the best tile size and tile dimension in parallel tiled code implementing Nussinov's RNA folding. Experimental results, received on modern Intel multi-core processors, demonstrate that this code outperforms known closely related implementations when the length of RNA strands is bigger than 2500.

摘要

背景

RNA 折叠是生物信息学中一项持续的计算密集型任务。此类算法的并行化和提高代码局部性是计算生物学中最相关的领域之一。幸运的是,RNA 二级结构方法(如 Nussinov 的递归)涉及到对仿射控制循环的数学运算,其迭代空间可以用多面体模型表示。这使得我们能够应用基于依赖图传递闭包的强大多面体编译技术来生成并行平铺代码,以实现 Nussinov 的 RNA 折叠。此类技术属于迭代空间切片框架 - 传递依赖关系应用于感兴趣的语句实例,以生成有效的平铺。在生成并行平铺代码时,主要问题是定义适当的平铺大小和平铺维度,这会影响并行度和代码局部性。

结果

为了选择最佳的平铺大小和平铺维度,我们首先构建了具有并行参数化平铺代码(参数是定义平铺大小的变量)。为此,我们首先生成两个具有不同固定平铺大小但具有相同代码结构的非参数化平铺代码,然后推导出一个通用的仿射模型,该模型描述了那些代码表达式中所有可用的整数因子。使用这个模型和已知的在提到的表达式中存在的整数因子(它们定义了模型的左侧),我们为每个在相同固定平铺代码位置可用的整数因子在这个模型中找到未知的整数,并将这个代码中的表达式(包括整数因子)替换为包含参数的表达式。然后,我们使用这个并行参数化平铺代码来实现著名的平铺大小选择(TSS)技术,该技术允许我们在给定的搜索空间中发现最佳的平铺大小和平铺维度,以最大化目标代码的性能。

结论

对于给定的搜索空间,所提出的方法允许我们在实现 Nussinov 的 RNA 折叠的并行平铺代码中选择最佳的平铺大小和平铺维度。在 RNA 链长度大于 2500 时,在现代 Intel 多核处理器上获得的实验结果表明,与已知的紧密相关的实现相比,该代码具有更好的性能。

https://cdn.ncbi.nlm.nih.gov/pmc/blobs/68f1/5769393/095232f3f3a9/12859_2018_2008_Fig3_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/68f1/5769393/df6010759546/12859_2018_2008_Fig1_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/68f1/5769393/d969f7072fb7/12859_2018_2008_Fig2_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/68f1/5769393/095232f3f3a9/12859_2018_2008_Fig3_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/68f1/5769393/df6010759546/12859_2018_2008_Fig1_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/68f1/5769393/d969f7072fb7/12859_2018_2008_Fig2_HTML.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/68f1/5769393/095232f3f3a9/12859_2018_2008_Fig3_HTML.jpg

相似文献

1
Tuning iteration space slicing based tiled multi-core code implementing Nussinov's RNA folding.基于 Tuning 迭代空间切片的分块多核代码实现 Nussinov 的 RNA 折叠。
BMC Bioinformatics. 2018 Jan 15;19(1):12. doi: 10.1186/s12859-018-2008-6.
2
Tiling Nussinov's RNA folding loop nest with a space-time approach.时空方法平铺 Nussinov 的 RNA 折叠环套。
BMC Bioinformatics. 2019 Apr 24;20(1):208. doi: 10.1186/s12859-019-2785-6.
3
Parallel tiled Nussinov RNA folding loop nest generated using both dependence graph transitive closure and loop skewing.使用依赖图传递闭包和循环偏移生成的并行平铺式努西诺夫RNA折叠环嵌套。
BMC Bioinformatics. 2017 Jun 2;18(1):290. doi: 10.1186/s12859-017-1707-8.
4
Parallel Tiled Codes Implementing the Smith-Waterman Alignment Algorithm for Two and Three Sequences.实现两个和三个序列的史密斯-沃特曼比对算法的并行平铺码
J Comput Biol. 2018 Oct;25(10):1106-1119. doi: 10.1089/cmb.2018.0006. Epub 2018 Jul 11.
5
Cache and energy efficient algorithms for Nussinov's RNA Folding.用于努西诺夫RNA折叠的缓存与节能算法。
BMC Bioinformatics. 2017 Dec 6;18(Suppl 15):518. doi: 10.1186/s12859-017-1917-0.
6
Multicore and GPU algorithms for Nussinov RNA folding.用于努西诺夫RNA折叠的多核和GPU算法。
BMC Bioinformatics. 2014;15 Suppl 8(Suppl 8):S1. doi: 10.1186/1471-2105-15-S8-S1. Epub 2014 Jul 14.
7
A Parallel Tiled and Sparsified Four-Russians Algorithm for Nussinov's RNA Folding.用于 Nussinov 的 RNA 折叠的并行平铺和稀疏化四联体算法。
IEEE/ACM Trans Comput Biol Bioinform. 2023 May-Jun;20(3):1795-1806. doi: 10.1109/TCBB.2022.3216826. Epub 2023 Jun 5.
8
Multicore and GPU Algorithms for Nussinov RNA Folding.用于努西诺夫RNA折叠的多核和GPU算法
IEEE Int Conf Comput Adv Bio Med Sci. 2013. doi: 10.1109/ICCABS.2013.6629204.
9
Towards a HPC-oriented parallel implementation of a learning algorithm for bioinformatics applications.面向高性能计算的生物信息学应用学习算法并行实现
BMC Bioinformatics. 2014;15 Suppl 5(Suppl 5):S2. doi: 10.1186/1471-2105-15-S5-S2. Epub 2014 May 6.
10
RiboDiffusion: tertiary structure-based RNA inverse folding with generative diffusion models.RiboDiffusion:基于三级结构的 RNA 反折叠与生成式扩散模型。
Bioinformatics. 2024 Jun 28;40(Suppl 1):i347-i356. doi: 10.1093/bioinformatics/btae259.

引用本文的文献

1
Tiling Nussinov's RNA folding loop nest with a space-time approach.时空方法平铺 Nussinov 的 RNA 折叠环套。
BMC Bioinformatics. 2019 Apr 24;20(1):208. doi: 10.1186/s12859-019-2785-6.

本文引用的文献

1
Towards Program Optimization through Automated Analysis of Numerical Precision.通过数值精度自动分析实现程序优化
Proc CGO. 2010 Apr;2010:230-237. doi: 10.1145/1772954.1772987.
2
Parallel tiled Nussinov RNA folding loop nest generated using both dependence graph transitive closure and loop skewing.使用依赖图传递闭包和循环偏移生成的并行平铺式努西诺夫RNA折叠环嵌套。
BMC Bioinformatics. 2017 Jun 2;18(1):290. doi: 10.1186/s12859-017-1707-8.
3
Multicore and GPU algorithms for Nussinov RNA folding.用于努西诺夫RNA折叠的多核和GPU算法。
BMC Bioinformatics. 2014;15 Suppl 8(Suppl 8):S1. doi: 10.1186/1471-2105-15-S8-S1. Epub 2014 Jul 14.
4
Optimal computer folding of large RNA sequences using thermodynamics and auxiliary information.利用热力学和辅助信息对大型RNA序列进行最优计算机折叠
Nucleic Acids Res. 1981 Jan 10;9(1):133-48. doi: 10.1093/nar/9.1.133.