影響CAE高性能計(jì)算的硬件配置解析
進(jìn)入21世紀(jì)之前,CAE的工作者一直很辛苦。只要能模擬真實(shí)世界,辛苦的工作、漫長(zhǎng)的等待和昂貴的開(kāi)銷都在所不惜。但是,面對(duì)有限發(fā)展的CAE技術(shù)和計(jì)算機(jī)資源,人們并不能如愿。為復(fù)雜產(chǎn)品建模時(shí),分析師不得不在假設(shè)與近似之間徘徊。模擬真實(shí)世界,愿望多于現(xiàn)實(shí)。
在假設(shè)和近似之間徘徊久了,分析師便建立了一項(xiàng)復(fù)雜的學(xué)問(wèn)——仿真分析規(guī)范,指導(dǎo)人們?cè)谟邢薜腃AE技術(shù)和計(jì)算機(jī)資源面前,如何進(jìn)行條件假設(shè)和近似處理,才能保證分析結(jié)果最接近真實(shí)世界。規(guī)則保證了秩序,卻約束了自由。CAE的工作者一直在必然王國(guó)中掙扎,遠(yuǎn)沒(méi)進(jìn)入自由王國(guó),直到CAE高性能計(jì)算技術(shù)得到大力發(fā)展的今天。
高性能計(jì)算(HPC:High Performance Computing)是一種可以充分利用最廣泛的計(jì)算資源進(jìn)行大型問(wèn)題求解的技術(shù),廣泛應(yīng)用于各行各業(yè)。CAE是高性能計(jì)算的重要陣地之一。從上世紀(jì)80年代初,ANSYS公司就在HPC研究上投入較大力量。該公司的創(chuàng)始人John Swanson博士準(zhǔn)確預(yù)測(cè)了CAE-HPC的發(fā)展趨勢(shì),提出ANSYS的HPC發(fā)展戰(zhàn)略。2004年,ANSYS創(chuàng)紀(jì)錄地進(jìn)行了一個(gè)1億自由度的問(wèn)題的計(jì)算,確立了這個(gè)CAE巨人在HPC的領(lǐng)導(dǎo)地位。
CAE-HPC的目標(biāo)是“用最低的成本模擬真實(shí)世界”,即“用最短的時(shí)間、最少的人力、最低的資金,進(jìn)行復(fù)雜單場(chǎng)模擬和多場(chǎng)耦合分析”。ANSYS的三把HPC利斧——大內(nèi)存支持、分布式并行計(jì)算和變分技術(shù)(VT),正在摧毀束縛CAE自由的堅(jiān)冰。
1. 大內(nèi)存求解大問(wèn)題
CAE計(jì)算需要較多的內(nèi)存已是常識(shí)。在過(guò)去32位的年代,內(nèi)存再多也用不上?,F(xiàn)在,64位操作系統(tǒng)的內(nèi)存尋址范圍使得CAE應(yīng)用軟件對(duì)內(nèi)存的使用幾乎沒(méi)有上限。Windows XP-64操作系統(tǒng)的推出對(duì)普通CAE用戶來(lái)說(shuō)是一大喜事,Windows畢竟是普通用戶最熟悉和最經(jīng)濟(jì)的操作系統(tǒng)。
對(duì)大內(nèi)存的支持讓CAE在前后處理方面獲得自由,使其在大模型的建立、大圖形的處理以及大數(shù)據(jù)庫(kù)的操作方面幾乎沒(méi)有障礙,用戶可以建立高保真模型。
首先,大內(nèi)存允許我們把模型建立得很精細(xì)。CAE的目標(biāo)之一是找到模型中的熱點(diǎn),也就是危險(xiǎn)點(diǎn)。即使同一模型,對(duì)于不同的工況,熱點(diǎn)可能不同。為了準(zhǔn)確捕捉熱點(diǎn),通常的方法是不同工況建立不同的模型,這不但繁瑣,而且不經(jīng)濟(jì)。疲勞計(jì)算問(wèn)題更嚴(yán)重,如果工況組合比較復(fù)雜,熱點(diǎn)的位置幾乎不能預(yù)測(cè),即使我們?cè)敢饨⒍喾N模型,但仍可能無(wú)法捕捉到所有的疲勞熱點(diǎn)。但如果建立了每一處的單元密度都很高的精細(xì)模型,我們就不會(huì)錯(cuò)過(guò)任何一個(gè)熱點(diǎn)。
其次,大內(nèi)存允許我們建立整機(jī)裝配模型。過(guò)去,由于內(nèi)存限制,我們往往只提取產(chǎn)品中重要的零部件進(jìn)行分析。這里存在一個(gè)問(wèn)題就是,產(chǎn)品的載荷和約束并不是直接施加在該零部件上,而是由其它零部件傳遞過(guò)來(lái)。只對(duì)單一零部件進(jìn)行分析時(shí),就不得不做邊界條件假設(shè)。如果使用整機(jī)模型,這種問(wèn)題便不存在。但是,建立整機(jī)模型卻存在另一個(gè)問(wèn)題:零部件之間的接觸。復(fù)雜產(chǎn)品千百個(gè)零部件之間的接觸單元定義如果完全靠手工進(jìn)行,工作量不可想象。ANSYS軟件提供了一個(gè)非常實(shí)用的功能——自動(dòng)接觸可以解決這個(gè)問(wèn)題。ANSYS在讀入CAD模型時(shí)自動(dòng)探測(cè)裝配關(guān)系,并自動(dòng)建立接觸單元。
再次,大內(nèi)存可提高建模速度。通常,CAE讀入CAD模型的時(shí)候需要?jiǎng)h除細(xì)小特征(Defeature),以使得CAE單元減少。有時(shí)還需要對(duì)于薄細(xì)結(jié)構(gòu)抽中面和抽中線,用以建立梁或殼單元。大內(nèi)存允許我們可以使用細(xì)小的尺寸在CAD模型上直接劃分網(wǎng)格,梁或殼單元可以用實(shí)體單元來(lái)替代,并不影響精度,而且在結(jié)構(gòu)連接部位的結(jié)果更精確。
最后,在大模型進(jìn)行計(jì)算時(shí),大內(nèi)存允許中間數(shù)據(jù)存儲(chǔ)在內(nèi)存中而不需要和硬盤交換數(shù)據(jù),可以減少I/O頻度,明顯提高速度。有時(shí)I/O問(wèn)題可能是大問(wèn)題求解得殺手。因此,大內(nèi)存是求解大問(wèn)題的基礎(chǔ)。 #p#page_title#e#
2. 分布式并行提高計(jì)算速度
并行計(jì)算是未來(lái)計(jì)算機(jī)的唯一高速公路。過(guò)去,計(jì)算機(jī)提高速度的方法主要靠提高CPU的時(shí)鐘速度。而今,CPU的時(shí)鐘速度已經(jīng)接近極限,計(jì)算機(jī)性能提高的唯一通路是發(fā)展多核計(jì)算機(jī)。雙核及四核處理器已經(jīng)推出,并行計(jì)算即將成為人們的每日工作。
集群(Cluster)是并行計(jì)算架構(gòu)中成本最低的一種。即使性能不高的計(jì)算機(jī)構(gòu)成的集群仍然可以獲得良好的并行性能。因此,集群模式的并行算法將是任何并行計(jì)算程序的必由之路,而集群只能是分布式的,因此分布式并行計(jì)算也自然而然成為ANSYS的選擇。
微軟公司于2006年6月推自己的集群操作系統(tǒng)WCCS2003(Windows Cluster Computing Server 2003),為集群的普及起到推動(dòng)作用。WCCS2003因其簡(jiǎn)化的群集部署和管理功能,降低了HPC的門檻,人們不是必須面對(duì)不熟悉的Unix或Linux。而且經(jīng)過(guò)我們大量案例的測(cè)試證明,WCCS2003的并行效率與Unix和Linux不相上下。可以預(yù)見(jiàn),集群模式的HPC將快速走向普及。在WCCS研制的階段,ANSYS公司就開(kāi)始與微軟深入合作,共同優(yōu)化ANSYS@WCCS2003的性能。在2005年全球矚目的美國(guó)西雅圖超級(jí)計(jì)算大會(huì)上,ANSYS成功地在微軟WCCS2003實(shí)現(xiàn)了完整演示。
DANSYS求解器是ANSYS的分布式并行計(jì)算的核心。該求解器可以自動(dòng)將大型問(wèn)題拆分為多個(gè)子域,分發(fā)給集群的不同節(jié)點(diǎn)(CPU)求解,在切割邊界交換信息以得到總體解。而且DANSYS在CAE全過(guò)程都采用并行算法,而不僅僅是方程求解過(guò)程。矩陣形成和單元結(jié)果回代過(guò)程的并行處理可以明顯減少墻鐘時(shí)間。同時(shí)DANSYS采用了負(fù)載均衡技術(shù),即使集群中各節(jié)點(diǎn)的性能不同,也能得到優(yōu)秀的加速比。
分布式并行可以明顯減少計(jì)算時(shí)間,使得大型問(wèn)題的求解得以松綁,讓CAE向自由王國(guó)邁進(jìn)了一大步。在一個(gè)經(jīng)典案例中,在單CPU上求解2000萬(wàn)自由度需要12個(gè)小時(shí),但采用8個(gè)CPU分布式并行計(jì)算只需要3個(gè)小時(shí)。12個(gè)小時(shí)意味著即使一上班就投入計(jì)算,你仍然在當(dāng)天看不到計(jì)算結(jié)果。而3個(gè)小時(shí)意味著你在一天內(nèi)可以進(jìn)行2~3次計(jì)算,這對(duì)產(chǎn)品研發(fā)速度的提高很有價(jià)值。
3. 變分技術(shù)減少迭代次數(shù)
變分技術(shù)(VT: Variational Technology)是ANSYS的專利技術(shù)。過(guò)去,人們進(jìn)行What-if研究時(shí),需要對(duì)大量樣本進(jìn)行計(jì)算,形成整個(gè)設(shè)計(jì)空間的響應(yīng)面。而采用VT技術(shù),只需“一次求解”就可以得到整個(gè)設(shè)計(jì)空間的響應(yīng)面。而且不論設(shè)計(jì)變量有多少,這“一次求解”的時(shí)間都是普通有限元求解的5倍左右。所以,設(shè)計(jì)變量越多,VT技術(shù)的優(yōu)勢(shì)越明顯。
VT技術(shù)實(shí)際上是深入到CAE程序內(nèi)核,將CAE矩陣(剛度陣、質(zhì)量陣等)的各元素改造成設(shè)計(jì)變量的函數(shù)(經(jīng)典CAE中各矩陣的元素是數(shù)值),把CAE分析過(guò)程從“數(shù)值計(jì)算”改造成“函數(shù)計(jì)算”,計(jì)算結(jié)果也自然是設(shè)計(jì)變量的函數(shù)。因此,只需“一次求解”就可以得到整個(gè)設(shè)計(jì)空間的響應(yīng)面。
VT技術(shù)在ANSYS公司的許多模塊都有應(yīng)用。最早應(yīng)用在優(yōu)化計(jì)算中,一次求解可獲得最優(yōu)設(shè)計(jì),而不像其他的優(yōu)化程序,需要進(jìn)行千百次的迭代。在電磁模塊中進(jìn)行S參數(shù)求解時(shí)需要掃頻計(jì)算,利用VT技術(shù)只需一次計(jì)算即可完成整個(gè)頻段的上百個(gè)頻點(diǎn)的S參數(shù)計(jì)算。在Mechanical的非線性迭代或動(dòng)力學(xué)多載荷步計(jì)算中,通過(guò)歷史迭代信息形成下步迭代最佳預(yù)測(cè),可使總迭代數(shù)最少。更為高效的是,當(dāng)計(jì)算過(guò)一種設(shè)計(jì)方案后,如果設(shè)計(jì)參數(shù)、材料參數(shù)或工況參數(shù)變更,重新計(jì)算一次所需要的迭代數(shù)更少。在一個(gè)典型的非線性計(jì)算案例中,如不采用VT技術(shù),迭代150次收斂,耗時(shí)2750秒。采用VT技術(shù),只需30次即可收斂,耗時(shí)775秒。改變?cè)O(shè)計(jì)參數(shù)后重新計(jì)算,只需9次即可收斂,耗時(shí)240秒。 #p#page_title#e#
如果說(shuō)并行計(jì)算技術(shù)加快了單次計(jì)算速度,那么VT技術(shù)則減少了迭代次數(shù)。復(fù)雜物理現(xiàn)象的仿真需要非線性、動(dòng)力學(xué)、流體力學(xué)甚至他們之間的耦合計(jì)算,這類計(jì)算總是需要進(jìn)行大量迭代。VT可以讓這種復(fù)雜物理現(xiàn)象的模擬變得快速,使CAE模擬真實(shí)世界成為可能。
總之,變分技術(shù)進(jìn)一步釋放了CAE對(duì)復(fù)雜問(wèn)題模擬潛能,為CAE最終進(jìn)入自由王國(guó)打開(kāi)了最后一扇大門。
為自由而戰(zhàn)
ANSYS公司HPC三步戰(zhàn)略:大內(nèi)存求解大問(wèn)題、分布式并行提高單次計(jì)算速度、變分技術(shù)減少迭代次數(shù),讓ANSYS的用戶從必然王國(guó)進(jìn)入了自由王國(guó),實(shí)現(xiàn)了她對(duì)用戶的承諾:Free Your Simulation!
然而,戰(zhàn)斗并沒(méi)有就此結(jié)束。世界各國(guó)高性能計(jì)算機(jī)的發(fā)展日新月異,對(duì)這些機(jī)器的支持是國(guó)際CAE軟件面對(duì)的另一塊堅(jiān)冰。中國(guó)硬件制造商和高性能計(jì)算機(jī)的擁有者都把安世亞太作為最佳合作伙伴之一。ANSYS公司總部向安世亞太開(kāi)放編譯中間文件,使得國(guó)產(chǎn)計(jì)算機(jī)可以很快運(yùn)行ANSYS軟件。上海超級(jí)計(jì)算中心擁有海量CPU的國(guó)產(chǎn)機(jī)器——曙光機(jī),ANSYS公司是其最大的CAE軟件提供商。
其實(shí),這個(gè)戰(zhàn)斗永遠(yuǎn)也不會(huì)結(jié)束,求異是CAE行業(yè)永恒的精神。一個(gè)軟件進(jìn)入自由王國(guó)并不代表整個(gè)CAE行業(yè)的解放。我們期待這個(gè)行業(yè)每一個(gè)戰(zhàn)士都武裝起來(lái),為CAE之自由而戰(zhàn)!