国产CPU并行应用挑战赛决赛赛题公告



  • 基于国产CPU的Gromacs众核优化

    简介

    Gromacs是一个可配置的分子动力学模拟工具,最初为了模拟蛋白质,脂类和氨基酸等有复杂化学键的生物分子,由于Gromacs提供了极好的非键作用力模拟性能,很多研究组织也开始使用Gromacs模拟聚合物等非生物分子体系。
    Gromacs现在支持几乎所有常见的分子动力学模拟算法,并且具有高性能,易于使用,开源,辅助工具丰富的特点,使其成为了当代分子动力学软件的佼佼者之一。


    源码

    GROMACS.tgz


    算例简介

    离子通道算例ion_channel-st.tpr:限定 16个进程4个国产节点)运行 。

    木质纤维算例lignocellulose-rf.BGQ-st.tpr:限定***64个进程***(16个国产节点)运行 。

    木质纤维算例lignocellulose-rf.BGQ-st.tpr:限定***512个进程***(128个节点)运行 。


    Gromacs快速指南

    压缩包中的文件说明

    1. gmx_mpi_d:Intel平台上的GROMACS二进制文件,可以用于查看运行结果。

    2. gromacs-5.1.5.tar.gz: gromacs-5.1.5的源代码。

    3 .ion_channel-st.tpr: 离子通道算例的输入文件。

    4. lignocellulose-rf.BGQ-st.tpr: 木质纤维算例的输入文件。

    5. gcc_spinlock.h: 为神威平台修改过的gcc_spinlock实现。

    编译

    1. 使用压缩包中的gcc_spinlock.h替换gromacs中的src/external/thread_mpi/include/thread_mpi/atomic/gcc_spinlock.h。

    2. cd gromacs-5.1.5

    3. mkdir build

    4. cd build

    5. LD=mpiCC CC=mpicc CXX=mpiCC cmake .. -DGMX_FFT_LIBRARY=fftpack -DGMX_MPI=on -DGMX_DOUBLE=ON -DGMX_BUILD_MDRUN_ONLY=ON -DBUILD_SHARED_LIBS=off -LH

    6. 在build文件夹中执行make可以进行增量编译。

    运行

    bsub <必要的参数> bin/mdrun_mpi_d -s <算例文件> -v

    优化

    推荐通过增加LDFLAGS链接外部库的方式完成从核代码的加入。

    验证

    查看输出的能量文件:gmx_mpi_d dump -e ener.edr

    比对输出的能量文件:gmx_mpi_d check -e ener.edr -e2 another_ener.edr


    Gromacs验证方法与程序

    程序正确性验证的方法和程序会在之后公布出来,并会以公告和邮件的方式通知进入决赛的各参赛队


    决赛英雄榜

    为了提升各参赛队比赛的积极性,后期我们会开放英雄榜榜单以供进入决赛的参赛队打榜。

    具体的打榜规则会以公告和邮件的方式通知进入决赛的各决赛参赛队


    注意事项

    1. 不得修改以及变相修改输入文件。

    2. 运行结果应与原程序大致一致,校验标准稍后发布。

    3. 不得修改程序内计时方法以及标准输出信息。

    4. Gromacs程序的优化需符合分子动力学的实际意义

    5. 不得针对于验证程序做优化

    6. 建议参赛队采取任何激进的优化方法前与组委会沟通交流


    评分规则

    参赛队决赛评分组成:

    1. 离子通道算例 16进程 (4个国产节点) 众核优化分值 SCORE_ONE = 30分

    2.木质纤维算例 64个进程(16个国产节点)众核优化分值SCORE_TWO= 40分

    3.木质纤维算例 512进程 (128个国产节点)众核优化分值SCORE_THREE = 20 分

    4. PPT+答辩:应详细地列出所使用的优化技术,并做简洁明了的介绍。现场答辩分值 SCORE_FOUR = 10分 。

    总分数的计算公式:

    SCORE_OPT = 30*sqrt(Tmin_one/Tteam_one) + 40*sqrt(Tmin_two/Tteam_two) + 20*sqrt(Tmin_three/Tteam_three)

    SCORE = SCORE_OPT + SCORE_PPT

    说明: Tmin_one , Tmin_two ,Tmin_three 是每个优化任务参赛队的最小运行时间
    Tteam_one , Tteam_two , Tteam_three 是每个优化任务当前参赛队的运行时间
    SCORE_PPT是各参赛队现场答辩的分数,理论上SCORE_PPT不大于10分


    硬件环境

    队列:神威太湖之光q_sw_cpc
    参赛队资源: 每个参赛队可用节点数不超过128个节点


    技术支持

    神威社区国产CPU并行挑战赛版块


    cpc2018决赛赛题最终版本请以cpc官方微信决赛赛题通知及cpc组委会决赛赛题通知邮件为准

    ------------------------------------本比赛最终解释权归cpc组委会所有--------------------------------------



  • 请问优化具体是做哪一块的优化?



  • @colezhang 整个应用都是优化的部分



  • 更新了决赛赛题压缩包,请大家重新下载。。。



  • 上面这个压缩包就是最终版吧



  • 这是代码的最终版本



  • 请问参赛队列可以跑到128个节点吗



  • @labixiaobin 请按通知来


登录后回复