第一届线性解法器算法与性能优化竞赛

关于SolverChallenge

        SolverChallenge竞赛是解法器快速算法及应用研讨会(SOLVER会议)的一项特色活动,由SOLVER会议组委会主办,每年举行一次。竞赛针对实际应用中抽取出来的线性代数问题,要求参赛队伍在一定约束条件下通过算法设计与性能调优等手段对这些系统进行数值求解,并基于不同标准从多个维度对所获结果进行评价。首届竞赛(SolverChallenge21)将与第四届解法器快速算法及应用研讨会(SOLVER21,克拉玛依)同期启动,欢迎解法器领域的同行及研究生报名参赛。

竞赛背景

       
        线性代数方程组 Ax=b 是科学与工程计算领域面临的共性问题,求解该类方程的解法器已成为很多应用软件的性能瓶颈。当前,国产高性能计算机的峰值性能已达每秒十亿亿次量级,很快将进入百亿亿次(E级)计算时代。这些国际领先的超级计算机为我国科学与工程计算应用迈进超大规模计算时代、实现更高精细的数值模拟成为可能。然而,超大规模计算给解法器算法设计与性能优化带来巨大挑战。一方面,超大规模计算必然是求解越来越复杂的实际应用问题,更加精细的物理建模蕴含着越来越复杂的应用特征(如:多时空尺度、多物理耦合、多介质、复杂流动、强非线性强间断、长时间积分等),从而导致现有解法器算法的计算复杂度急剧增长。另一方面,随着计算机硬件性能的提升,超级计算机呈现“多级嵌套海量并行、异构众核加速”的复杂体系结构特征,导致解法器算法的实现效率急剧下降。这种“应用与机器”的双重复杂性导致解法器越来越成为实际数值模拟应用的性能瓶颈,如何设计能同时匹配实际应用特征和机器体系结构特征的快速算法与性能优化技术是当前亟待解决的关键问题。

        

竞赛宗旨

       
        SolverChallenge竞赛瞄准我国重要行业应用中的解法器瓶颈问题,赛题源于实际应用的需求,并根据每年的需求和优化情况持续更新。一方面,希望通过检验参赛队伍的算法与软件对这些问题的适应性,从中筛选出合适的算法及解法器策略,为应用提供新的思路与解决途径,提升我国重要行业应用中自主软件的解法器计算能力。另一方面,希望通过实际问题的牵引,吸引更多科研人员开展应用驱动的解法器算法创新与性能优化研究,同时培养具有交叉学科背景的优秀青年研究人员和研究生。

        

竞赛方案与规则

竞赛方案

       
        竞赛组委会提供10套来源于不同应用领域的线性系统(每套线性系统包括矩阵A和右端向量b、存储格式的描述、求解约束条件等),参赛选手针对这10套系统进行求解,不限制求解方法(即迭代法、直接法或混合方法均可),也不限制解法器软件包的来源。竞赛网站将提供程序中输入、输出与计时部分,并开放接口供参赛选手提交自己的执行代码(若是闭源的,则提交链接文件)。最终将使用不同的右端向量b测试,其求解效果(速度、精度、浮点运算次数等)将作为本竞赛奖项评判标准。

竞赛规则

       
        硬件环境:竞赛指定硬件作为程序性能的测试平台,参赛选手有权使用竞赛测试平台,但使用时间将被限制,在使用时间内参赛选手可以配置环境与测试程序。在竞赛提供的平台测出的成绩会作为参赛选手的最终成绩。

        指定硬件包括:

        商用CPU(Intel Xeon Gold 6230, 4路共80核,频率2.1 GHz, 内存384 GB DDR4,带宽511 GB/s);
        商用GPU(NVIDIA A100,6912 CUDA核,频率1.4 GHz,显存40 GB HBM2,带宽1555 GB/s)。

        软件环境:准许使用任何软件包参与竞赛,但是在评分时会考虑所使用软件包的自主性和创新性。

        参赛队伍:竞赛面向本科生与研究生开放,学生采用自愿组合方式组成参赛队伍。每支队伍人数不超过3人,且应指定1-2名指导教师。

文档内容规范

       
        算法设计实现涉及到的技术栈:包含采用的硬件、系统环境、软件;
        算法详细内容:包含采用的算法、参数;
        总体思路:包含问题的简要分析、求解策略;
        结果分析;
        遇到的问题。

评分依据

       
        求解速度(到解墙上时间):评分标准同时考虑求解的线性系统个数与性能。每个系统满分10分,能正确解出且性能最优者得满分,其他选手的成绩依次顺延,未能解出者不得分。例如:求解某一系统时,排名第一的参赛小组用时120ms、排名第二的参赛小组用时240ms、排名第三的参赛小组未解出,则第一参赛小组得10分,第二参赛小组得5分,第三参赛小组得0分。所有10组系统得分累加得到总成绩。

        浮点运算次数:使用性能测试软件记录选手程序的浮点运算次数,目的在于考察选手从数值算法的角度进行算法创新与改进。每组矩阵满分10分,浮点运算次数最优的选手得满分,其他选手按比例顺延,未解出者不得分。所有10组系统得分累加得到总成绩。

        精度:确保求解出的解向量x满足相应的精度要求。

        

奖项设定

       
        竞赛专委会将根据参赛作品的创新性、完成度、文档质量、难度以及答辩表现等情况进行评奖。

        基础奖项:按照求解速度与浮点运算次数得分,分别设特等奖(不超1名),一等奖(不超过15%)、二等奖(不超过30%)、三等奖若干;
        特别奖项:创新奖(在算法或性能优化方法方面有独特创新)、单系统奖(对于某一个线性系统有独特贡献)等;
        企业特别奖:赞助厂商可根据自己的需求评选企业特别奖。

        

竞赛流程

事项 时间
开启报名通道 5月10日
公布赛题和开放测试平台
5月25日
开通参赛选手提交程序通道
6月10日
关闭程序提交通道
7月15日
初评、公布入围名单
7月25日
在克拉玛依会议上进行答辩、颁奖
7月30-8月1日

竞赛截止报名时间

       
        2021 年 6 月 30 日

        

第一届解法器算法及优化竞赛(SolverChallenge21)赛题

百度网盘下载链接 提取码:bhrm

赛题名称 solverchallenge21_01
阶数非零元数 2,097,152
非零元数 14,581,760
应用领域 激光聚变
来源与背景描述   PDE:辐射流体力学三维光子方程;
网格类型:结构网格;
网格规模: 128×128×128;
离散格式:有限体积7点格式。
MD5 267e523efb310c31
b6fa23a3804c4da6
残差向量2范数相对右端向量2范数的下降阈值要求: ||r||2 / ||b||2 < 1e-10
求解过程最大内存要求
< 1GB
最快成绩
HiNAS-M队(2021年)
赛题名称 solverchallenge21_02
阶数非零元数 6,291,456
非零元数 52,133,888  
应用领域 激光聚变
来源与背景描述   PDE:辐射流体力学三维三温方程;
网格类型:结构网格;
网格规模: 128×128×128;
离散格式:有限体积7点格式
MD5 de21e4d00623cd41
a95182fd447867f0
残差向量2范数相对右端向量2范数的下降阈值要求: ||r||2 / ||b||2 < 1e-10
求解过程最大内存要求
< 3GB
最快成绩
GMW队(2021年)
赛题名称 solverchallenge21_03
阶数非零元数 83,073
非零元数 2,826,927
应用领域 工程力学
来源与背景描述   PDE:离心机装置接触力学问题线弹性方程;
离散格式:一阶节点有限元,每个节点定义三个自由(位移三个分量);
特点:带有复杂约束条件。  
MD5 bb24e4bd83ae1def
230b3c47e5c36a71
残差向量2范数相对右端向量2范数的下降阈值要求: ||r||2 / ||b||2 < 1e-8
求解过程最大内存要求
最快成绩
GMW队(2021年)
赛题名称 solverchallenge21_04
阶数非零元数 2,081,541
非零元数 71,033,481
应用领域 工程力学
来源与背景描述   PDE:航空发动机整机静力学模拟接触力学线弹性方程;
离散格式:一阶节点有限元,每个节点定义三个自由(位移三个分量);
特点:带有复杂约束条件。
MD5 468ed4124ffa647d
2681132456fa0eb0
残差向量2范数相对右端向量2范数的下降阈值要求: ||r||2 / ||b||2 < 1e-8
求解过程最大内存要求
最快成绩
GMW队(2021年)
赛题名称 solverchallenge21_05
阶数非零元数 225,800
非零元数 3,591,872
应用领域 电子学系统
来源与背景描述   PDE:滤波器电磁场仿真时谐麦克斯韦方程;
离散格式:一阶Nedelec有限元,每条边一个自由度;
特点:离散矩阵为复型系统。
MD5 07821cd81df9a41c
581db1c15a0b8b6d
残差向量2范数相对右端向量2范数的下降阈值要求: ||r||2 / ||b||2 < 1e-8
求解过程最大内存要求
最快成绩
SolverChallenge-XTU队(2021年)
赛题名称 solverchallenge21_06
阶数非零元数 2,188,844
非零元数 23,524,309
应用领域 油藏模拟
来源与背景描述   模型:油水两相黑油模型;
PDE:非线性耦合渗流方程;
离散格式:块中心有限差分,每个网格定义两个自由度(一个压力和一个饱和度变量);
特点:矩阵为块稀疏结构。
MD5 ac1718745d68660b
7bb7823d8aa8d748
残差向量2范数相对右端向量2范数的下降阈值要求: ||r||2 / ||b||2 < 1e-4
求解过程最大内存要求

最快成绩
SolverChallenge-XTU队(2021年)
赛题名称 solverchallenge21_07
阶数非零元数 431,358
非零元数 2,586,755
应用领域 油藏模拟
来源与背景描述   模型:三相黑油模型;
PDE:非线性耦合渗流方程;
离散格式:块中心有限差分,每个网格定义三个自由度(一个压力和两个饱和度变量);
特点:矩阵为块稀疏结构。
MD5 b0ab398f7e11c670
834cbf0d52573491
残差向量2范数相对右端向量2范数的下降阈值要求: ||r||2 / ||b||2 < 1e-5
求解过程最大内存要求

最快成绩
SolverChallenge-XTU队(2021年)
赛题名称 solverchallenge21_08
阶数非零元数 4,504,770
非零元数 60,769,595
应用领域 集成电路
来源与背景描述   集成电路瞬态仿真方程;
电路类型:PHY接口;
电路工艺:16nm。
MD5 658ac6cde06ee754
3485bbf36a1c0230
残差向量2范数相对右端向量2范数的下降阈值要求: ||r||2 / ||b||2 < 1e-8
求解过程最大内存要求

最快成绩
SolverChallenge-XTU队(2021年)
赛题名称 solverchallenge21_09
阶数非零元数 7,785,500
非零元数 117,784,837  
应用领域 集成电路
来源与背景描述   集成电路瞬态仿真方程;
电路类型:DAC接口;
电路工艺:7nm。
MD5 24fb791736e97795
24479f62ff9e8baf
残差向量2范数相对右端向量2范数的下降阈值要求: ||r||2 / ||b||2 < 1e-8
求解过程最大内存要求

最快成绩
SolverChallenge-XTU队(2021年)
赛题名称 solverchallenge21_10
阶数非零元数 418,718
非零元数 921,708,586
应用领域 集成电路
来源与背景描述   射频电路谐波平衡仿真方程;
电路类型:VCO;
电路工艺:28nm;
特点:离散矩阵为复型系统。
MD5 8610e400c7b86d6c
75482c1c48b7dec9
残差向量2范数相对右端向量2范数的下降阈值要求: ||r||2 / ||b||2 < 1e-8
求解过程最大内存要求
最快成绩
HiNAS-M队(2021年)

竞赛组织

       
        主办单位:解法器快速算法及应用研讨会组织委员会
        承办单位:中国石油大学(北京)信息科学与工程学院,湖南国家应用数学中心

        

竞赛评奖委员会共同主席

徐小文(北京应用物理与计算数学研究所)
张晨松(中国科学院数学与系统科学研究院)
舒    适(湘潭大学)
谭光明(中国科学院计算技术研究所)
刘伟峰(中国石油大学(北京))

竞赛评奖委员会委员

安恒斌(北京应用物理与计算数学研究所)
崔    涛(中国科学院数学与系统科学研究院)
冯春生(湘潭大学)
刘伟峰(中国石油大学(北京))
舒    适(湘潭大学)
谭光明(中国科学院计算技术研究所)
谢和虎(中国科学院计算数学所)
徐小文(北京应用物理与计算数学研究所)
薛    巍(清华大学)
张晨松(中国科学院计算数学研究所)
周振亚(北京华大九天科技股份有限公司)

竞赛联系人

       
        杨德闯:13141166363 (电话) | 958629957@qq.com (邮箱)
        连浩丞:13261798233 (电话) | 916822670@qq.com (邮箱)

        

竞赛结果公布

sample52
NO1

SolverChallenge-XTU队

单 位:湘潭大学
指导老师:冯春⽣, 岳孝强
参赛学生:赵梨,王慧,赵英蒸

sample52
NO2

GMW队

单 位:中国科学院数学与系统科学研究院
指导老师:郑伟英, 崔涛
参赛学生:王⼀甲,穆朋聪,郭仲琨

sample52
NO3

HiNAS-M队

单 位:中国⼯程物理研究院研究⽣院, 南京⼤学, 中物院⾼性能数值模拟中⼼
指导老师:胡少亮
参赛学生:毛润彰,邓蕴桐,包怡坤

sample59
NO4

一笑而过队

单 位:中国⼯程物理研究院, 中国科学院数学与系统科学研究院, 中物院⾼性能数值模拟中⼼
指导老师:胡少亮
参赛学生:邹海峰,李仕哲,刘笑

sample59
NO5

克拉玛依美食队

单 位:中国⼯程物理研究院研究⽣院, 中物院软件中⼼
指导老师:范荣红
参赛学生:段晓宇, 胡毅, 王碧翊

sample59
NO6

Communication-avoiding队

单 位:国防科技大学, 北京应用物理与计算数学研究所
指导老师:谷同祥, 姜浩
参赛学生:陈琳,何康,雷晓军

sample59
NO7

算的又快又队

单 位:湖南大学,湖南大学信息科学与工程学院
指导老师:阳王东
参赛学生:林圣乐,蔡沁耘,董凤坤

sample59
NO8

算得快还算得队

单 位:北京航空航天大学
指导老师:栾钟治
参赛学生:⽯乐同,李明亮,王御⾂