楊逍 黃文濤 李家祺 譚洪宇 張文 張宇思 汪濤



關鍵詞:國產計算;數值分析;工程應用;課程設計;教學實踐
能源電力、交通運輸、國防建設等基礎行業關系著國計民生,這些行業常須依賴計算平臺與專業仿真工具,來監督評估日常系統狀態、設計經濟可靠的運維方案。而現有仿真工具主要是由歐美發達國家開發的商業閉源軟件,且近年來國際形勢復雜多變,我國也時刻面臨斷供、禁售核心軟硬件與技術的風險。為此,響應國家發展戰略,聚焦基礎行業仿真需求及安全考量,借助國產計算開放環境,從數值計算等核心仿真技術人手,本文設計在線課程與實踐任務,發掘吸引更多潛在用戶,培養面向國產計算的人才隊伍,加強國產計算生態建設。
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余頁。下一步,根據國產計算發展需求,課程內容及推廣活動將不斷迭代優化、抱薪拾柴,為持續建設國產計算生態貢獻一份力量。