面向国产计算的“应用数值分析”课程设计与实践
2022-04-29杨逍黄文涛李家祺谭洪宇张文张宇思汪涛
杨逍 黄文涛 李家祺 谭洪宇 张文 张宇思 汪涛
关键词:国产计算;数值分析;工程应用;课程设计;教学实践
能源电力、交通运输、国防建设等基础行业关系着国计民生,这些行业常须依赖计算平台与专业仿真工具,来监督评估日常系统状态、设计经济可靠的运维方案。而现有仿真工具主要是由欧美发达国家开发的商业闭源软件,且近年来国际形势复杂多变,我国也时刻面临断供、禁售核心软硬件与技术的风险。为此,响应国家发展战略,聚焦基础行业仿真需求及安全考量,借助国产计算开放环境,从数值计算等核心仿真技术人手,本文设计在线课程与实践任务,发掘吸引更多潜在用户,培养面向国产计算的人才队伍,加强国产计算生态建设。
1国产计算发展现状与特点
1.1基础行业发展需求
能源电力、交通运输、国防建设等基础行业时刻影响着居民生活、经济生产、社会稳定等,是关系到国计民生的重要基础产业和公用事业,而这些行业须依赖相关计算平台和专业仿真工具完成日常系统分析与控制决策。以电力行业为例,电力安全、稳定和充足供应是国民经济全面协调且可持续发展的重要保障,事关经济发展和国家安全。在安全可靠的计算平台上,结合前沿、高效的仿真技术,有效地开展电力系统仿真分析、及时掌握系统状态、设计优化系统控制与调度策略等,是保障电力系统经济安全运行的重要途径之一[1]。目前,主流电力系统仿真工具主要有美国EPRI开发的PSAPAC,加拿大曼尼托巴水电局开发的PSCAD/EMTDC,美国PTI推出的PSS/E,主要面向研究者的Matpower和PSAT等MATLAB工具包,以及国产仿真软件PSASP,PSModel、仿真装置ADPSS等。上述多是由国外开发的商业闭源软件,而且它们主要适用于“Windows+lntel”和“Linux+x86”等传统组合的国外商用计算平台。这些计算平台的核心部件与仿真技术面临断供和禁售的风险,因此,我们迫切需要发展自主可控的国产化计算平台与仿真工具。
1.2国产计算生态赢弱
现阶段,国产计算平台主要由鲲鹏、飞腾等系列国产处理器以及麒麟、openEuler等国产操作系统搭建。一般而言,计算平台生态成熟和健全的主要标志是在该平台上有丰富的开发及应用软件。不过,目前国产计算平台软件种类与数量有限,而且如上文所述,关键基础行业所需的仿真工具普遍不能直接在国产计算平台上高效运行。为此,亟须面向国产计算针对关键基础行业研发相关工具。值得注意的是,为达成以上目标,其重要环节之一在于培养面向国产计算及相关基础行业仿真技术与工具的开发者以及使用者群体,尤其是掌握数值计算专业知识以及具备仿真核心算法库设计能力的研究人员。但目前该群体及相关人才队伍尚未形成规模,这将阻碍国产计算和自主可控工业仿真等领域的长足健康发展。所以,在研发国产仿真工具的过程中,除关注软件开发本身之外,也亟须培养并壮大面向国产计算及基础行业仿真需求的人才队伍。考虑到目前国产计算缺乏系统性的培训资料、课程、实践机会等,本文结合数值计算及工程应用来设置在线课程与实践方案。
2课程教学总体设计
2.1教学目的与课程设计思路
本课程的主要目的是引导国产计算平台的潜在开发者和应用者,让他们熟悉并使用国产计算平台,提升尝试国产计算平台的兴趣,进而在国产计算平台上开展相应开发与研究工作。具体而言,本课程以拥有基础程序设计经验的学员为目标群体,让他们了解国产计算平台与传统“Windows+lntel”和“Linux+x86”等组合的国外商用计算平台之间的差异,熟悉国产计算平台资源的获取途径与步骤,掌握在国产计算平台上搭建与配置开发环境的方法,利用国产计算平台开展数值计算.工程应用等实战项目,且对国产计算平台与传统计算平台的优劣表现有基本认识。为实现这些目的,首先,该课程通过网络公开课、线上直播等方式,介绍我国国产计算平台软硬件发展现状和基础知识。通过可操作的具体步骤,介绍获取国产计算资源的途径,在国产计算平台上搭建与配置开发环境,完成机器学习、数据分析、科学计算(电力仿真)等实战任务。其次,该课程也提供面向公众开放的国产计算资源和丰富的学习资料,在掌握理论知识的基础上,学员可以根据指导手册在国产计算平台上进行项目实践。通过实践环节,学员可以动手尝试国产计算平台和独立开发,比较且反馈国产计算平台与常见商用平台的使用体验,强化对国产计算的认识和理解。课程设计与实践的组织结构如图1所示。
2.2课程教学的主要内容
课程教学内容主要包括四部分:一是现状简介,包括介绍我国国产计算生态发展现状和基础知识、面向公众开放的国产计算资源信息、以及国产计算资源的详细申请步骤;二是Octave适配及应用案例展示,包括介绍Octave计算环境及其在国产计算平台上的适配过程,以及机器学习、神经网络、数据分析等相关工具包的移植方案,进而在国产计算平台上展示服务器异常检测、垃圾邮件分类、手写数字识别等应用案例的实现过程和效果:三是Python适配及深度学习案例展示,包括介绍Python计算环境及其在国产计算平台上的适配过程,介绍深度学习常用工具PyTorch等的移植方案,进而在国产计算平台上构建和训练深度学习网络、展示手写数字识别以及动物图像识别等应用案例的实现过程与效果;四是电力系统仿真计算,包括介绍在国产计算平台上实现潮流计算、静态电压稳定、最优潮流、暂态稳定等電力系统仿真基本任务所须的计算方法,对标MATLAB等常用计算环境,详述开源且易学易用的“Octave+Matpower”“Python+PyPower”等组合的仿真环境搭建方案,高效完成上至数万节点的大规模系统仿真分析任务。课程安排细节如图2所示。
3课程教学实践设计
3.1教学实践的意义
教学实践是本课程设计的重要环节,首先,根据以往教学经验,如果仅是讲述理论知识或由教师进行实践示范,学员很难牢固掌握且融会贯通教学内容,也难以充分调动学员的学习热情,这与真正掌握、熟练使用国产计算平台的培养目标尚有距离[2];其次,国产计算平台不同于生态成熟且丰富的传统计算平台,现阶段学员对国产计算平台的具体适用场景了解有限,需要通过实践环节引导学员加深对国产计算的认识。
3.2课程实践配套方案
尽管学员通过学习在线课程对国产计算已有基本了解,但是在短暂的课程教学期间内,通常难以培养学员对国产计算的使用意愿以及在国产计算平台上开展基础行业仿真技术与工具研发的兴趣。因此,需要设计贴合学员共性需求的实践方案,帮助学员快速上手国产计算平台。为此,课程将国产计算培训内容作为思政元素,与“数值计算方法”“数值分析”等本科生专业必修课的线下课堂教学进行深度融合,要求学员在系统地学习相关教学内容后,在国产计算平台上搭建计算环境、完成课程大作业等项目实践任务,整理实践报告且提供反馈建议,从而达到强化学员实践能力、提高学员对国产计算平台认识的目标。线上教学资源如图3所示。学生作业展示及意见反馈如图4所示。
3.2.1课程实践配套方案
目前,国产计算平台还未在公众中普及使用,学员也难自费获取符合要求的国产计算软硬件资源。为此,本课程与深圳鹏城实验室合作,向公众免费提供云计算资源:同日寸,本文详细介绍了在鹏城生态门户一开发者云申请计算资源的流程:在该云平台申请计算资源且经审核通过后,即可在云主机列表界面查看获批的计算资源信息,通过远程终端访问计算资源。根据课程指引,学员自行在云平台申请计算资源且为后续实践环节做好准备。
3.2.2数值计算实践环节设计
为使国产计算相关培训更加贴近学员日常关注内容,帮助学员增强实践能力,了解分析国产计算平台与常见商用计算平台(如苹果、戴尔、惠普、联想等个人电脑品牌)之间的优劣,本课程与“数值计算方法”“数值分析”等专业必修课的课堂教学活动融合,设计课程大作业等任务,要求学员在国产平台与商用平台上分别完成插值逼近、数值积分、线性方程求解等专题的数值分析实践任务。具体而言,要求学员在国产与商用平台上分别编程,实现样条插值、高斯积分、牛顿迭代等数值计算方法,在不同平台上统计结果精度、计算耗时等评价指标的表现,分析相同算法在不同计算平台上的性能差异与原因,完成课程报告,并且针对国产计算平台提供使用感受与反馈建议。此环节也是后续相关基础行业仿真技术与工具(特别是涉及仿真核心算法库)分析及研发的基础。
3.2.3工程应用实践环节设计
为方便展示国产计算平台的适用场景且强化学员实际操作能力,已面向国产计算设计以下实践环节,从而帮助学员加深对国产计算的认识与理解,培养学员实际操作能力和在国产计算平台上从事相关基础行业仿真技术及工具研发的兴趣。
(1) Octave与SK-learn机器学习实践环节:指导学员远程访问所申请的国产计算资源,安装Octave计算环境和SK-learn工具包等,且使用Octave完成房价预测、芯片适应性检测、检测过载服务器、手写数字识别等有监督学习、无监督学习、神经网络的多项实践任务;使用SK-learn工具包完成文本文档分类、人脸数据集分解等机器学习实践任务。
(2) Python深度学习实践环节:指导学员访问上述國产计算资源,安装Pytorch工具包且进行Minist手写数字识别、猫狗图像识别等任务实践:利用Matplotlib工具包实现数据可视化。
(3) Matpower电力系统仿真实践环节:指导学员访问国产计算资源;安装Matpower工具包且利用它完成求解潮流问题、连续潮流计算、最优潮流等电力系统仿真任务。
(4) Pypower电力系统仿真实践环节:指导学员在国产计算平台上安装PyPower工具包,完成暂态稳定评估等仿真实践任务并绘制仿真结果。
4结束语
国内外形势正经历巨大变化,我国迫切需要发展自主可控的国产计算生态、培育并壮大开发者与应用者群体。如今,相关课程内容已通过“超算习堂”等在线学习平台[3]免费向公众开放,大大降低了学员获取国产计算相关知识与技能的门槛,并开展多种线上线下培训活动,完成超8000人次的培训记录;本课程也已在哔哩哔哩(Bilibili)等在线分享平台公开相关教学视频,播放量超24000人次。此外,经过两年多与线下课堂教学融合的实践活动,已收集课程项目总结和反馈建议报告超160余页。下一步,根据国产计算发展需求,课程内容及推广活动将不断迭代优化、抱薪拾柴,为持续建设国产计算生态贡献一份力量。