楊逍 黃文濤 李家祺 譚洪宇 張文 張宇思 汪濤
關(guān)鍵詞:國產(chǎn)計算;數(shù)值分析;工程應(yīng)用;課程設(shè)計;教學(xué)實(shí)踐
能源電力、交通運(yùn)輸、國防建設(shè)等基礎(chǔ)行業(yè)關(guān)系著國計民生,這些行業(yè)常須依賴計算平臺與專業(yè)仿真工具,來監(jiān)督評估日常系統(tǒng)狀態(tài)、設(shè)計經(jīng)濟(jì)可靠的運(yùn)維方案。而現(xiàn)有仿真工具主要是由歐美發(fā)達(dá)國家開發(fā)的商業(yè)閉源軟件,且近年來國際形勢復(fù)雜多變,我國也時刻面臨斷供、禁售核心軟硬件與技術(shù)的風(fēng)險。為此,響應(yīng)國家發(fā)展戰(zhàn)略,聚焦基礎(chǔ)行業(yè)仿真需求及安全考量,借助國產(chǎn)計算開放環(huán)境,從數(shù)值計算等核心仿真技術(shù)人手,本文設(shè)計在線課程與實(shí)踐任務(wù),發(fā)掘吸引更多潛在用戶,培養(yǎng)面向國產(chǎn)計算的人才隊(duì)伍,加強(qiáng)國產(chǎn)計算生態(tài)建設(shè)。
1國產(chǎn)計算發(fā)展現(xiàn)狀與特點(diǎn)
1.1基礎(chǔ)行業(yè)發(fā)展需求
能源電力、交通運(yùn)輸、國防建設(shè)等基礎(chǔ)行業(yè)時刻影響著居民生活、經(jīng)濟(jì)生產(chǎn)、社會穩(wěn)定等,是關(guān)系到國計民生的重要基礎(chǔ)產(chǎn)業(yè)和公用事業(yè),而這些行業(yè)須依賴相關(guān)計算平臺和專業(yè)仿真工具完成日常系統(tǒng)分析與控制決策。以電力行業(yè)為例,電力安全、穩(wěn)定和充足供應(yīng)是國民經(jīng)濟(jì)全面協(xié)調(diào)且可持續(xù)發(fā)展的重要保障,事關(guān)經(jīng)濟(jì)發(fā)展和國家安全。在安全可靠的計算平臺上,結(jié)合前沿、高效的仿真技術(shù),有效地開展電力系統(tǒng)仿真分析、及時掌握系統(tǒng)狀態(tài)、設(shè)計優(yōu)化系統(tǒng)控制與調(diào)度策略等,是保障電力系統(tǒng)經(jīng)濟(jì)安全運(yùn)行的重要途徑之一[1]。目前,主流電力系統(tǒng)仿真工具主要有美國EPRI開發(fā)的PSAPAC,加拿大曼尼托巴水電局開發(fā)的PSCAD/EMTDC,美國PTI推出的PSS/E,主要面向研究者的Matpower和PSAT等MATLAB工具包,以及國產(chǎn)仿真軟件PSASP,PSModel、仿真裝置ADPSS等。上述多是由國外開發(fā)的商業(yè)閉源軟件,而且它們主要適用于“Windows+lntel”和“Linux+x86”等傳統(tǒng)組合的國外商用計算平臺。這些計算平臺的核心部件與仿真技術(shù)面臨斷供和禁售的風(fēng)險,因此,我們迫切需要發(fā)展自主可控的國產(chǎn)化計算平臺與仿真工具。
1.2國產(chǎn)計算生態(tài)贏弱
現(xiàn)階段,國產(chǎn)計算平臺主要由鯤鵬、飛騰等系列國產(chǎn)處理器以及麒麟、openEuler等國產(chǎn)操作系統(tǒng)搭建。一般而言,計算平臺生態(tài)成熟和健全的主要標(biāo)志是在該平臺上有豐富的開發(fā)及應(yīng)用軟件。不過,目前國產(chǎn)計算平臺軟件種類與數(shù)量有限,而且如上文所述,關(guān)鍵基礎(chǔ)行業(yè)所需的仿真工具普遍不能直接在國產(chǎn)計算平臺上高效運(yùn)行。為此,亟須面向國產(chǎn)計算針對關(guān)鍵基礎(chǔ)行業(yè)研發(fā)相關(guān)工具。值得注意的是,為達(dá)成以上目標(biāo),其重要環(huán)節(jié)之一在于培養(yǎng)面向國產(chǎn)計算及相關(guān)基礎(chǔ)行業(yè)仿真技術(shù)與工具的開發(fā)者以及使用者群體,尤其是掌握數(shù)值計算專業(yè)知識以及具備仿真核心算法庫設(shè)計能力的研究人員。但目前該群體及相關(guān)人才隊(duì)伍尚未形成規(guī)模,這將阻礙國產(chǎn)計算和自主可控工業(yè)仿真等領(lǐng)域的長足健康發(fā)展。所以,在研發(fā)國產(chǎn)仿真工具的過程中,除關(guān)注軟件開發(fā)本身之外,也亟須培養(yǎng)并壯大面向國產(chǎn)計算及基礎(chǔ)行業(yè)仿真需求的人才隊(duì)伍??紤]到目前國產(chǎn)計算缺乏系統(tǒng)性的培訓(xùn)資料、課程、實(shí)踐機(jī)會等,本文結(jié)合數(shù)值計算及工程應(yīng)用來設(shè)置在線課程與實(shí)踐方案。
2課程教學(xué)總體設(shè)計
2.1教學(xué)目的與課程設(shè)計思路
本課程的主要目的是引導(dǎo)國產(chǎn)計算平臺的潛在開發(fā)者和應(yīng)用者,讓他們熟悉并使用國產(chǎn)計算平臺,提升嘗試國產(chǎn)計算平臺的興趣,進(jìn)而在國產(chǎn)計算平臺上開展相應(yīng)開發(fā)與研究工作。具體而言,本課程以擁有基礎(chǔ)程序設(shè)計經(jīng)驗(yàn)的學(xué)員為目標(biāo)群體,讓他們了解國產(chǎn)計算平臺與傳統(tǒng)“Windows+lntel”和“Linux+x86”等組合的國外商用計算平臺之間的差異,熟悉國產(chǎn)計算平臺資源的獲取途徑與步驟,掌握在國產(chǎn)計算平臺上搭建與配置開發(fā)環(huán)境的方法,利用國產(chǎn)計算平臺開展數(shù)值計算.工程應(yīng)用等實(shí)戰(zhàn)項(xiàng)目,且對國產(chǎn)計算平臺與傳統(tǒng)計算平臺的優(yōu)劣表現(xiàn)有基本認(rèn)識。為實(shí)現(xiàn)這些目的,首先,該課程通過網(wǎng)絡(luò)公開課、線上直播等方式,介紹我國國產(chǎn)計算平臺軟硬件發(fā)展現(xiàn)狀和基礎(chǔ)知識。通過可操作的具體步驟,介紹獲取國產(chǎn)計算資源的途徑,在國產(chǎn)計算平臺上搭建與配置開發(fā)環(huán)境,完成機(jī)器學(xué)習(xí)、數(shù)據(jù)分析、科學(xué)計算(電力仿真)等實(shí)戰(zhàn)任務(wù)。其次,該課程也提供面向公眾開放的國產(chǎn)計算資源和豐富的學(xué)習(xí)資料,在掌握理論知識的基礎(chǔ)上,學(xué)員可以根據(jù)指導(dǎo)手冊在國產(chǎn)計算平臺上進(jìn)行項(xiàng)目實(shí)踐。通過實(shí)踐環(huán)節(jié),學(xué)員可以動手嘗試國產(chǎn)計算平臺和獨(dú)立開發(fā),比較且反饋國產(chǎn)計算平臺與常見商用平臺的使用體驗(yàn),強(qiáng)化對國產(chǎn)計算的認(rèn)識和理解。課程設(shè)計與實(shí)踐的組織結(jié)構(gòu)如圖1所示。
2.2課程教學(xué)的主要內(nèi)容
課程教學(xué)內(nèi)容主要包括四部分:一是現(xiàn)狀簡介,包括介紹我國國產(chǎn)計算生態(tài)發(fā)展現(xiàn)狀和基礎(chǔ)知識、面向公眾開放的國產(chǎn)計算資源信息、以及國產(chǎn)計算資源的詳細(xì)申請步驟;二是Octave適配及應(yīng)用案例展示,包括介紹Octave計算環(huán)境及其在國產(chǎn)計算平臺上的適配過程,以及機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、數(shù)據(jù)分析等相關(guān)工具包的移植方案,進(jìn)而在國產(chǎn)計算平臺上展示服務(wù)器異常檢測、垃圾郵件分類、手寫數(shù)字識別等應(yīng)用案例的實(shí)現(xiàn)過程和效果:三是Python適配及深度學(xué)習(xí)案例展示,包括介紹Python計算環(huán)境及其在國產(chǎn)計算平臺上的適配過程,介紹深度學(xué)習(xí)常用工具PyTorch等的移植方案,進(jìn)而在國產(chǎn)計算平臺上構(gòu)建和訓(xùn)練深度學(xué)習(xí)網(wǎng)絡(luò)、展示手寫數(shù)字識別以及動物圖像識別等應(yīng)用案例的實(shí)現(xiàn)過程與效果;四是電力系統(tǒng)仿真計算,包括介紹在國產(chǎn)計算平臺上實(shí)現(xiàn)潮流計算、靜態(tài)電壓穩(wěn)定、最優(yōu)潮流、暫態(tài)穩(wěn)定等電力系統(tǒng)仿真基本任務(wù)所須的計算方法,對標(biāo)MATLAB等常用計算環(huán)境,詳述開源且易學(xué)易用的“Octave+Matpower”“Python+PyPower”等組合的仿真環(huán)境搭建方案,高效完成上至數(shù)萬節(jié)點(diǎn)的大規(guī)模系統(tǒng)仿真分析任務(wù)。課程安排細(xì)節(jié)如圖2所示。
3課程教學(xué)實(shí)踐設(shè)計
3.1教學(xué)實(shí)踐的意義
教學(xué)實(shí)踐是本課程設(shè)計的重要環(huán)節(jié),首先,根據(jù)以往教學(xué)經(jīng)驗(yàn),如果僅是講述理論知識或由教師進(jìn)行實(shí)踐示范,學(xué)員很難牢固掌握且融會貫通教學(xué)內(nèi)容,也難以充分調(diào)動學(xué)員的學(xué)習(xí)熱情,這與真正掌握、熟練使用國產(chǎn)計算平臺的培養(yǎng)目標(biāo)尚有距離[2];其次,國產(chǎn)計算平臺不同于生態(tài)成熟且豐富的傳統(tǒng)計算平臺,現(xiàn)階段學(xué)員對國產(chǎn)計算平臺的具體適用場景了解有限,需要通過實(shí)踐環(huán)節(jié)引導(dǎo)學(xué)員加深對國產(chǎn)計算的認(rèn)識。
3.2課程實(shí)踐配套方案
盡管學(xué)員通過學(xué)習(xí)在線課程對國產(chǎn)計算已有基本了解,但是在短暫的課程教學(xué)期間內(nèi),通常難以培養(yǎng)學(xué)員對國產(chǎn)計算的使用意愿以及在國產(chǎn)計算平臺上開展基礎(chǔ)行業(yè)仿真技術(shù)與工具研發(fā)的興趣。因此,需要設(shè)計貼合學(xué)員共性需求的實(shí)踐方案,幫助學(xué)員快速上手國產(chǎn)計算平臺。為此,課程將國產(chǎn)計算培訓(xùn)內(nèi)容作為思政元素,與“數(shù)值計算方法”“數(shù)值分析”等本科生專業(yè)必修課的線下課堂教學(xué)進(jìn)行深度融合,要求學(xué)員在系統(tǒng)地學(xué)習(xí)相關(guān)教學(xué)內(nèi)容后,在國產(chǎn)計算平臺上搭建計算環(huán)境、完成課程大作業(yè)等項(xiàng)目實(shí)踐任務(wù),整理實(shí)踐報告且提供反饋建議,從而達(dá)到強(qiáng)化學(xué)員實(shí)踐能力、提高學(xué)員對國產(chǎn)計算平臺認(rèn)識的目標(biāo)。線上教學(xué)資源如圖3所示。學(xué)生作業(yè)展示及意見反饋如圖4所示。
3.2.1課程實(shí)踐配套方案
目前,國產(chǎn)計算平臺還未在公眾中普及使用,學(xué)員也難自費(fèi)獲取符合要求的國產(chǎn)計算軟硬件資源。為此,本課程與深圳鵬城實(shí)驗(yàn)室合作,向公眾免費(fèi)提供云計算資源:同日寸,本文詳細(xì)介紹了在鵬城生態(tài)門戶一開發(fā)者云申請計算資源的流程:在該云平臺申請計算資源且經(jīng)審核通過后,即可在云主機(jī)列表界面查看獲批的計算資源信息,通過遠(yuǎn)程終端訪問計算資源。根據(jù)課程指引,學(xué)員自行在云平臺申請計算資源且為后續(xù)實(shí)踐環(huán)節(jié)做好準(zhǔn)備。
3.2.2數(shù)值計算實(shí)踐環(huán)節(jié)設(shè)計
為使國產(chǎn)計算相關(guān)培訓(xùn)更加貼近學(xué)員日常關(guān)注內(nèi)容,幫助學(xué)員增強(qiáng)實(shí)踐能力,了解分析國產(chǎn)計算平臺與常見商用計算平臺(如蘋果、戴爾、惠普、聯(lián)想等個人電腦品牌)之間的優(yōu)劣,本課程與“數(shù)值計算方法”“數(shù)值分析”等專業(yè)必修課的課堂教學(xué)活動融合,設(shè)計課程大作業(yè)等任務(wù),要求學(xué)員在國產(chǎn)平臺與商用平臺上分別完成插值逼近、數(shù)值積分、線性方程求解等專題的數(shù)值分析實(shí)踐任務(wù)。具體而言,要求學(xué)員在國產(chǎn)與商用平臺上分別編程,實(shí)現(xiàn)樣條插值、高斯積分、牛頓迭代等數(shù)值計算方法,在不同平臺上統(tǒng)計結(jié)果精度、計算耗時等評價指標(biāo)的表現(xiàn),分析相同算法在不同計算平臺上的性能差異與原因,完成課程報告,并且針對國產(chǎn)計算平臺提供使用感受與反饋建議。此環(huán)節(jié)也是后續(xù)相關(guān)基礎(chǔ)行業(yè)仿真技術(shù)與工具(特別是涉及仿真核心算法庫)分析及研發(fā)的基礎(chǔ)。
3.2.3工程應(yīng)用實(shí)踐環(huán)節(jié)設(shè)計
為方便展示國產(chǎn)計算平臺的適用場景且強(qiáng)化學(xué)員實(shí)際操作能力,已面向國產(chǎn)計算設(shè)計以下實(shí)踐環(huán)節(jié),從而幫助學(xué)員加深對國產(chǎn)計算的認(rèn)識與理解,培養(yǎng)學(xué)員實(shí)際操作能力和在國產(chǎn)計算平臺上從事相關(guān)基礎(chǔ)行業(yè)仿真技術(shù)及工具研發(fā)的興趣。
(1) Octave與SK-learn機(jī)器學(xué)習(xí)實(shí)踐環(huán)節(jié):指導(dǎo)學(xué)員遠(yuǎn)程訪問所申請的國產(chǎn)計算資源,安裝Octave計算環(huán)境和SK-learn工具包等,且使用Octave完成房價預(yù)測、芯片適應(yīng)性檢測、檢測過載服務(wù)器、手寫數(shù)字識別等有監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)的多項(xiàng)實(shí)踐任務(wù);使用SK-learn工具包完成文本文檔分類、人臉數(shù)據(jù)集分解等機(jī)器學(xué)習(xí)實(shí)踐任務(wù)。
(2) Python深度學(xué)習(xí)實(shí)踐環(huán)節(jié):指導(dǎo)學(xué)員訪問上述國產(chǎn)計算資源,安裝Pytorch工具包且進(jìn)行Minist手寫數(shù)字識別、貓狗圖像識別等任務(wù)實(shí)踐:利用Matplotlib工具包實(shí)現(xiàn)數(shù)據(jù)可視化。
(3) Matpower電力系統(tǒng)仿真實(shí)踐環(huán)節(jié):指導(dǎo)學(xué)員訪問國產(chǎn)計算資源;安裝Matpower工具包且利用它完成求解潮流問題、連續(xù)潮流計算、最優(yōu)潮流等電力系統(tǒng)仿真任務(wù)。
(4) Pypower電力系統(tǒng)仿真實(shí)踐環(huán)節(jié):指導(dǎo)學(xué)員在國產(chǎn)計算平臺上安裝PyPower工具包,完成暫態(tài)穩(wěn)定評估等仿真實(shí)踐任務(wù)并繪制仿真結(jié)果。
4結(jié)束語
國內(nèi)外形勢正經(jīng)歷巨大變化,我國迫切需要發(fā)展自主可控的國產(chǎn)計算生態(tài)、培育并壯大開發(fā)者與應(yīng)用者群體。如今,相關(guān)課程內(nèi)容已通過“超算習(xí)堂”等在線學(xué)習(xí)平臺[3]免費(fèi)向公眾開放,大大降低了學(xué)員獲取國產(chǎn)計算相關(guān)知識與技能的門檻,并開展多種線上線下培訓(xùn)活動,完成超8000人次的培訓(xùn)記錄;本課程也已在嗶哩嗶哩(Bilibili)等在線分享平臺公開相關(guān)教學(xué)視頻,播放量超24000人次。此外,經(jīng)過兩年多與線下課堂教學(xué)融合的實(shí)踐活動,已收集課程項(xiàng)目總結(jié)和反饋建議報告超160余頁。下一步,根據(jù)國產(chǎn)計算發(fā)展需求,課程內(nèi)容及推廣活動將不斷迭代優(yōu)化、抱薪拾柴,為持續(xù)建設(shè)國產(chǎn)計算生態(tài)貢獻(xiàn)一份力量。