本发明涉及计算机辅助,尤其涉及一种分子动力学轨迹基于超算平台的并行渲染方法和系统。
背景技术:
1、随着生物医学和药物开发领域的快速发展,传统实验方法存在周期长、成本高和成功率低等问题,计算机辅助药物设计已成为药物研发的重要手段之一。分子动力学模拟可视化作为面向用户的窗口,能够直观表现分子微观环境的运动,用于分析生物分子结构和模拟数据。随着病毒和光合细胞器等大型生物分子复合物的实验成像、结构细化和模拟技术的不断进步,对可视化的效率与数据量提出了越来越高的要求。实际工作中,分子根据轨迹数据生成的动画以10-9s-10-12s为帧数,为了保证观测尺度足够长,轨迹文件数据动辄数十吉字节(gb,gigabyte),总数据量往往达到数百太字节(tb,terabyte)乃至数拍字节(pb,petabyte)。轨迹数据的增大又会导致图片渲染耗增长,影响整个药物设计周期。这对生物分子系统的结构和动力学的常规可视化是个一个巨大的挑战,使用高性能图形硬件和软件进行并行绘制是发展趋势。然而,在现有计算机辅助药物设计应用中,仍存在着不同架构底层兼容性不足、本地渲染时间过长且效率低、并行程度不高等技术问题。
技术实现思路
1、本发明目的在于公开一种分子动力学轨迹基于超算平台的并行渲染方法及系统,以提高渲染效率。
2、为达上述目的,本发明公开的分子动力学轨迹基于超算平台的并行渲染方法包括:
3、步骤s1、获取用户针对当前超算环境做适配对应的分子动力学可视化相关组件的部署,所述可视化应用组件包括gromacs、vmd和ffmpeg;
4、步骤s2、主节点针对大数据轨迹文件使用gromacs进行拆分,生成与任务需要相关的子任务轨迹文件,并将各子任务轨迹文件分发给相应节点;
5、步骤s3、得到子任务轨迹文件的各节点并行执行非交互式vmd任务,并调用渲染器进行渲染操作,然后将渲染结果以tga文件格式存入共享存储器中各个节点任务所对应的文件夹中;
6、步骤s4、所述主节点对渲染子任务生成tga文件进行重编号,随后通过ffmpeg将渲染tga进行图片处理,生成动画视频文件。
7、优选地,在所述步骤s2中,具体包括:
8、步骤s21、所述主节点通过slurm管理系统获取空闲节点编号,使用salloc申请计算资源,并对申请成功的节点进行计算命令测试,将成功通过测试的计算节点编号放入输入参数之中;一个节点对应所述超算平台所部署服务器集群中的一个服务器;
9、步骤s22、所述主节点读取trr轨迹文件,并输入预设参数,所述预设参数至少包括轨迹总帧数和计算节点资源数,然后通过任务编号将任务分发到通过测试的各个计算节点执行gromacs拆分轨迹任务,生成轨迹文件按照轨迹帧数切分编号进行排序。
10、优选地,在所述步骤s2中,拆分策略包括:
11、所述主节点按帧序以每m+1帧作为一组,余数所对应的剩余部分再作为一组;且从第二组开始,任一组内的第一帧与上一组的最后一帧相同,为后续将各组所对应的渲染结果恢复为trr轨迹文件中原始帧序的重复帧。
12、优选地,在所述步骤s4中,所述主节点对各组后各重复帧所对应的渲染结果实现跳帧处理。
13、为达上述目的,本发明公开一种分子动力学轨迹基于超算平台的并行渲染系统,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述基于超算平台的分子动力学大规模轨迹并行渲染方法所对应的步骤。
14、可选地,在所述超算平台的所搭建的超算环境中,用于协同实现分子动力学轨迹并行渲染的各节点基于arm架构或x86架构。
15、本发明具有以下有益效果:
16、通过对任务计算流程进行深度优化,充分利用了超算平台的并行处理能力,可自动分配渲染任务到各个计算节点,显著提升了分子动力学可视化流程的效率;其中,设计的任务资源分配策略,可以根据任务的实时需求调整计算资源的分配,确保每计算资源能够得到有效的利用,避免资源浪费并确保高效并行渲染。最终为超算平台提供一种高效可靠的分子动力学大规模轨迹并行渲染方案,以支持和指导药物的高效发现。
17、下面将参照附图,对本发明作进一步详细的说明。
1.一种分子动力学轨迹基于超算平台的并行渲染方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述步骤s2中,具体包括:
3.根据权利要求2所述的方法,其特征在于,在所述步骤s2中,拆分策略包括:
4.根据权利要求3所述的方法,其特征在于,在所述步骤s4中,所述主节点对各组后各重复帧所对应的渲染结果实现跳帧处理。
5.一种分子动力学轨迹基于超算平台的并行渲染系统,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的基于超算平台的分子动力学大规模轨迹并行渲染方法所对应的步骤。
6.根据权利要求5所述的系统,其特征在于,在所述超算平台的所搭建的超算环境中,用于协同实现分子动力学轨迹并行渲染的各节点基于arm架构或x86架构。