fluent并行錯(cuò)誤errno = 10054的解決辦法

2017-04-03  by:CAE仿真在線(xiàn)  來(lái)源:互聯(lián)網(wǎng)

目前解決方法:采用 Fluent的 “自動(dòng)保存”功能,從非正常退出處接著算。。。。
一個(gè)月前接手的項(xiàng)目,外加換了新電腦,因?yàn)榍捌诘尿?yàn)證算例網(wǎng)格也不是很多,所以也就沒(méi)有使用并行計(jì)算,單線(xiàn)程串行計(jì)算效率也不低,然后具體的方案出來(lái)以后,一共一百來(lái)個(gè)算例定了下來(lái),開(kāi)始使用并行計(jì)算,然后FLUENT就開(kāi)始了無(wú)盡的抽搐。
我的電腦剛配的新的,i7-2600(4核8線(xiàn)程),16G內(nèi)存(4*4),華碩Z68的主板。算例為100萬(wàn)網(wǎng)格,FLUENT不定時(shí)報(bào)錯(cuò)強(qiáng)制停止,報(bào)錯(cuò)如下,相信有人已經(jīng)遇到過(guò)了這個(gè)問(wèn)題。
999999 (..\src\mpsystem.c@1149): mpt_read: failed: errno = 10054
999999: mpt_read: error: read failed trying to read 4 bytes: Invalid argument
job aborted:
rank: node: exit code
0: FENG-PC: 123
1: FENG-PC: -1073741819: process 1 exited without calling finalize
2: FENG-PC: 123
3: FENG-PC: 123
4: FENG-PC: 123
5: FENG-PC: 123
接下來(lái)講述一下我這大半個(gè)月折騰的過(guò)程。
首先這個(gè)問(wèn)題舊電腦(已經(jīng)被淘汰了,太老了)上沒(méi)有遇到,實(shí)驗(yàn)室其他人有遇到過(guò)的,但很少,不頻繁,他們的情況是重啟電腦,然后就解決了。可惜我的錯(cuò)誤并沒(méi)有解決,問(wèn)題依舊,非常頻繁。
網(wǎng)上好多人遇到這個(gè)問(wèn)題是帶UDF情況下的,我的不使用UDF,而且我非常確定我的網(wǎng)格和條件都沒(méi)有問(wèn)題。
網(wǎng)上給出的第一個(gè)建議就是重裝軟件。重裝了N次,問(wèn)題依舊
網(wǎng)上給出的第二個(gè)建議就是重裝系統(tǒng)。由于某些原因重裝了2次,正版盜版都用過(guò)了,問(wèn)題依舊
網(wǎng)上給出的第三個(gè)建議就是內(nèi)存不夠了,16G不夠用,人人網(wǎng)小組里確實(shí)有人通過(guò)加大內(nèi)存解決了這個(gè)問(wèn)題,但是我可以很負(fù)責(zé)得說(shuō)這個(gè)和內(nèi)存不夠沒(méi)有關(guān)系,稍后分析,我16G內(nèi)存連400萬(wàn)網(wǎng)格都能算,所以網(wǎng)上各種有關(guān)內(nèi)存大小和網(wǎng)格數(shù)量的說(shuō)法我表示懷疑。
網(wǎng)上給出的第四個(gè)建議就是換版本。目前我的電腦里已經(jīng)同時(shí)有12.1、13.0、14.0三個(gè)版本了,可以確定并不是軟件不穩(wěn)定的問(wèn)題,確實(shí)最后的解決辦法和版本有點(diǎn)關(guān)系,但核心問(wèn)題并不是版本問(wèn)題。
網(wǎng)上給出的第五個(gè)建議就是換系統(tǒng)。這個(gè)我目前還沒(méi)這個(gè)打算,用習(xí)慣了windows,不想換,而且我懷疑換系統(tǒng)并不能徹底解決問(wèn)題。
還有一個(gè)說(shuō)法,是ANSYS安裝時(shí)自帶的.NET Framework的版本低于系統(tǒng)版本,在安裝時(shí)沒(méi)有打開(kāi).NET Framework的功能,在‘控制面板-程序-程序和功能-打開(kāi)或關(guān)閉windows功能’里點(diǎn)選上.NET Framework的相關(guān)選項(xiàng)來(lái)解決問(wèn)題。通過(guò)測(cè)試可以確定并不是這個(gè)問(wèn)題,我編程需求所以裝有VS2010,好處是裝VS的時(shí)候C++等等各種組件就一應(yīng)俱全。
最后只能自己找問(wèn)題了,這種報(bào)錯(cuò),最表面的原因就是并行過(guò)程中,遠(yuǎn)程主機(jī)強(qiáng)制關(guān)閉了,單機(jī)并行時(shí)的遠(yuǎn)程主機(jī)也就是本機(jī)host。對(duì)這種報(bào)錯(cuò)的理解如下。
第一,網(wǎng)格質(zhì)量,在我的理解網(wǎng)格有問(wèn)題只能引起發(fā)散,但不排除網(wǎng)格造成的數(shù)據(jù)溢出,并行中的某個(gè)線(xiàn)程中的數(shù)據(jù)出現(xiàn)溢出,線(xiàn)程之間的通訊發(fā)生故障,并行中斷。
第二,內(nèi)存問(wèn)題,內(nèi)存讀取問(wèn)題也會(huì)造成線(xiàn)程之間的通訊故障。我的內(nèi)存條我確定沒(méi)有壞,但是4*4的雙通道讓我很擔(dān)心,網(wǎng)上加大內(nèi)存的解決方案我認(rèn)為是內(nèi)存數(shù)據(jù)交換方式改變才解決了問(wèn)題,并不是內(nèi)存變大了。內(nèi)存不足fluent是有相應(yīng)的報(bào)錯(cuò)的,和這里的并行錯(cuò)誤無(wú)關(guān)。
第三,CPU問(wèn)題,我也懷疑過(guò),窮啊,第一次用i7-2600,一共8個(gè)線(xiàn)程,我并行的時(shí)候用6個(gè)線(xiàn)程,難道線(xiàn)程之間通訊有故障,后來(lái)發(fā)現(xiàn)確實(shí)和這個(gè)有關(guān)系,但CPU本身沒(méi)有問(wèn)題。
第四,單雙精度問(wèn)題,這個(gè)是有可能造成數(shù)據(jù)溢出的,并導(dǎo)致并行通訊中斷。
第五,網(wǎng)絡(luò)問(wèn)題,這個(gè)也很常見(jiàn),針對(duì)插著網(wǎng)線(xiàn)計(jì)算的同學(xué),聯(lián)網(wǎng)狀態(tài)下,各個(gè)線(xiàn)程之間的通訊目標(biāo)IP是上網(wǎng)的那個(gè)IP,用360的查看網(wǎng)絡(luò)連接你就知道了,網(wǎng)絡(luò)不穩(wěn)定或者局域網(wǎng)攻擊會(huì)使并行中斷,推薦使用360的局域網(wǎng)防護(hù)。
第六,許可文件,這個(gè)問(wèn)題可能性很小,安裝14.0使用的許可文件是可以支持到12.0的,包括并行。
后來(lái)又各種測(cè)試,開(kāi)始嘗試調(diào)整MPI選項(xiàng)
在裝ANSYS時(shí)有MPI的安裝選項(xiàng),我裝了是沒(méi)錯(cuò),但是并不好用。
發(fā)現(xiàn)ansys各個(gè)版本的fluent所支持的并行通訊協(xié)議不同。在打開(kāi)fluent的界面里,找到并行設(shè)置里的MPI選項(xiàng),14.0支持msmpi(不可用,需自己下載安裝)、pcmpi(已安裝,默認(rèn))、intel(需要在安裝時(shí)自己裝)三種,13.0支持msmpi(不可用,需自己下載安裝)、hp(默認(rèn),需要在安裝時(shí)自己裝)、intel(需要在安裝時(shí)自己裝),12.0支持mpich2、msmpi、hp。
我一直使用的mpi是軟件默認(rèn)的,13.0和14.0裝的intel-mpi版本不一樣,于是又特地裝了14.0的intel-mpi,用intel的mpi進(jìn)行并行計(jì)算,也是隨機(jī)中斷報(bào)錯(cuò)。
最后在13.0的hp-mpi的方式下用單精度計(jì)算,貌似問(wèn)題得到了改善,但這個(gè)情況下,偶爾會(huì)出現(xiàn)計(jì)算卡住的情況,可以通過(guò)暫停計(jì)算來(lái)解決,但是只要卡住,暫停后再繼續(xù)出去20來(lái)步,fluent就自行退出了,沒(méi)有報(bào)錯(cuò)。而且沒(méi)有嘗試雙精度。
目前暫用13.0的hp-mpi外加自動(dòng)保存來(lái)往下推進(jìn)了。
另外,還有一些需要說(shuō)一說(shuō)的
1、自動(dòng)保存的cas會(huì)有打不開(kāi)的時(shí)候,所以備份cas的時(shí)候不要備份自動(dòng)保存的,而是備份初始的cas,配合自動(dòng)保存的dat使用;
2、并行的初始cas是不能直接在并行fluent里設(shè)置的,需要先在串行fluent里把條件設(shè)好并初始化,然后保存,然后再用并行fluent來(lái)讀取,這個(gè)應(yīng)該很多人都知道
3、還有各種mpi并行通訊機(jī)制,在半個(gè)多月的折騰過(guò)程中,發(fā)現(xiàn)hp-mpi是效率最高的,相比intel-mpi能非常明顯得提高并行計(jì)算速度。
4、帶udf出現(xiàn)這個(gè)報(bào)錯(cuò),雖然UDF通過(guò)編譯了,但還是第一時(shí)間檢查UDF寫(xiě)得對(duì)不對(duì),UDF編譯的數(shù)據(jù)在計(jì)算中稍有問(wèn)題都能引起各線(xiàn)程之間的通訊中斷,然后fluent就出錯(cuò)了。
這大半個(gè)月給我折騰死了,真鬧心,死貴死貴的CPU外加一年又一年的ansys版本更新,居然連個(gè)并行通訊協(xié)議的支持都做得不好,新機(jī)器散熱還不好,光改造機(jī)箱就給折騰了好久,目前也就暫時(shí)解決這個(gè)報(bào)錯(cuò),不知道繼續(xù)算下去會(huì)不會(huì)出問(wèn)題了。
也算是總結(jié)一下能找到和能想到的處理方法,供交流。
最新的情況是,又找到一個(gè)可能的原因,很有可能是windows的防火墻沒(méi)有徹底關(guān)閉。我用的是未刪減過(guò)的正版系統(tǒng),在‘控制面板-系統(tǒng)與安全-windows防火墻’這里看到的防火墻是關(guān)閉的,但事實(shí)上并沒(méi)有徹底關(guān)閉,繼續(xù)點(diǎn)擊高級(jí)設(shè)置,就會(huì)進(jìn)入到‘高級(jí)安全windows防火墻’的設(shè)置界面,可以發(fā)現(xiàn)其中的‘域配置文件’這一項(xiàng)的防火墻并沒(méi)有關(guān)閉,必須在這個(gè)界面里繼續(xù)點(diǎn)擊‘windows防火墻屬性’才能徹底關(guān)閉域配置文件的防火墻。
貌似‘域配置文件’防火墻的設(shè)置能夠通過(guò)HP-MPI的并行數(shù)據(jù),但是會(huì)限制intel-MPI的并行數(shù)據(jù)。
10月份總算是找到了我問(wèn)題所在,之前使用的HP-MPI的辦法只是折中的解決辦法,不能長(zhǎng)期應(yīng)對(duì)。
之前有說(shuō)到對(duì)這個(gè)錯(cuò)誤的理解,其中第二點(diǎn)是這樣的
第二,內(nèi)存問(wèn)題,內(nèi)存讀取問(wèn)題也會(huì)造成線(xiàn)程之間的通訊故障。我的內(nèi)存條我確定沒(méi)有壞,但是4*4的雙通道讓我很擔(dān)心,網(wǎng)上加大內(nèi)存的解決方案我認(rèn)為是內(nèi)存數(shù)據(jù)交換方式改變才解決了問(wèn)題,并不是內(nèi)存變大了。內(nèi)存不足fluent是有相應(yīng)的報(bào)錯(cuò)的,和這里的并行錯(cuò)誤無(wú)關(guān)。
最終確定是我的主板4*4通道的問(wèn)題,雙通道4個(gè)內(nèi)存條全部插滿(mǎn),主板可能有缺陷,在并行計(jì)算是內(nèi)存的信息吞吐量巨大,4個(gè)內(nèi)存之間的信息交換有故障,這個(gè)在正常使用電腦時(shí)顯示不出來(lái),只有內(nèi)存出入大量數(shù)據(jù)時(shí)才會(huì)出現(xiàn)問(wèn)題。
HP-MPI的并行機(jī)制計(jì)算慢一些,但貌似減少這種錯(cuò)誤的發(fā)生,我的問(wèn)題出在硬件上,沒(méi)辦法只能取下兩個(gè)條子,現(xiàn)在是2*4單通道的8G內(nèi)存,我的問(wèn)題就基本解決了。
當(dāng)然,不同的人出現(xiàn)這個(gè)錯(cuò)誤原因可能不一樣,這個(gè)帖子就是想貼出我的排查過(guò)程,供各種蟲(chóng)們參考參考
截止12月沒(méi)有出現(xiàn)報(bào)錯(cuò),問(wèn)題解決

開(kāi)放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:fluent并行錯(cuò)誤errno = 10054的解決辦法 Fluent培訓(xùn) Fluent流體培訓(xùn) Fluent軟件培訓(xùn) fluent技術(shù)教程 fluent在線(xiàn)視頻教程 fluent資料下載 fluent分析理論 fluent化學(xué)反應(yīng) fluent軟件下載 UDF編程代做 Fluent、CFX流體分析 HFSS電磁分析 

編輯
在線(xiàn)報(bào)名:
  • 客服在線(xiàn)請(qǐng)直接聯(lián)系我們的客服,您也可以通過(guò)下面的方式進(jìn)行在線(xiàn)報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話(huà),謝謝!
驗(yàn)證碼

全國(guó)服務(wù)熱線(xiàn)

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話(huà):13580329919
          135-8032-9919
培訓(xùn)QQ咨詢(xún):點(diǎn)擊咨詢(xún) 點(diǎn)擊咨詢(xún)
項(xiàng)目QQ咨詢(xún):點(diǎn)擊咨詢(xún)
email:kf@1cae.com