Skip to content

Ugawaji wa mesh

Wakati mesh kubwa inachanganuliwa sambamba kwa michakato mingi, mesh ya kikoa kimoja lazima igawanywe kuwa vikoa vidogo, na taarifa zinazohitajika kugawa kikoa cha kila mchakato na kuwasiliana kati ya vikoa zitengenezwe mapema. Uchakataji huu wa awali huitwa ugawaji wa mesh.

Katika uchakataji sambamba wa FrontISTR, hecmw_part1 hugawanya mesh ya kikoa kimoja kuwa vikoa vidogo na kutengeneza data ya mesh iliyosambazwa. Data hiyo husomwa na fistr1 ya sambamba na kutumiwa na kitatuzi sambamba pamoja na taarifa zinazohitajika kwa mawasiliano kati ya vikoa.

Ukurasa huu unaeleza aina ya ugawaji, mbinu ya ugawaji wa mesh, kina cha mwingiliano, na ushughulikiaji wa nukta za mgusano unaochaguliwa katika ugawaji wa mesh. Kwa utaratibu wa kutekeleza hecmw_part1, sintaksia mahususi ya faili ya udhibiti, na ujumbe wa hitilafu, tazama mada zinazohusiana.

Muhtasari wa utendaji

Ugawaji wa mesh ni mchakato wa kugawanya mesh ya kikoa kimoja kuwa vikoa vidogo vingi. FrontISTR hutengeneza data ya mesh iliyosambazwa kwa kuchanganya aina ya ugawaji, mbinu ya ugawaji wa mesh, idadi ya vikoa na kina cha mwingiliano.

Mhimili wa uchaguzi Chaguo kuu Jukumu
Aina ya ugawaji Ugawaji wa mesh kwa msingi wa nodi, ugawaji wa mesh kwa msingi wa elementi Huamua ikiwa umiliki utaamuliwa kwa nodi au elementi.
Mbinu ya ugawaji wa mesh RCB, METIS (pMETIS / kMETIS) Huamua jinsi mipaka ya vikoa inavyoundwa.
Idadi ya vikoa nambari kamili yoyote chanya (\(2^n\) kwa RCB) Huamua idadi ya vikoa vidogo katika data ya mesh iliyosambazwa. Kwa kawaida hulinganishwa na idadi ya michakato ya MPI.
Kina cha mwingiliano nambari kamili ya 1 au zaidi Huamua masafa yanayohifadhiwa kwa kurudiwa na vikoa jirani. Hubainishwa kwa ugawaji wa mesh kwa msingi wa nodi.
Jedwali la mawasiliano Taarifa za uingizaji/utoaji na taarifa zinazoshirikiwa Hufafanua ubadilishanaji wa data unaohitajika kati ya vikoa vidogo jirani. Hutengenezwa kiotomatiki wakati wa ugawaji wa mesh.

Kwa kuwa majedwali ya mawasiliano yamo katika data ya mesh iliyosambazwa, kwa kawaida mtumiaji hahitaji kuyahariri moja kwa moja. fistr1 ya sambamba husoma data ya mesh iliyosambazwa na kutatua milinganyo ya mstari sambamba kwa mbinu ya moja kwa moja kama MUMPS au kwa mbinu ya iteresheni.

Jinsi ya kuchagua mpangilio wa ugawaji wa mesh

Kwa uchanganuzi wa miundo na uchanganuzi wa kawaida wa upitishaji joto, ugawaji wa mesh kwa msingi wa nodi uwe chaguo la kwanza. Ugawaji wa mesh kwa msingi wa nodi hurahisisha mawasiliano ya thamani za nodi yanayohitajika katika uchanganuzi sambamba wa elementi finiti na pia huruhusu kina cha mwingiliano kubainishwa. Ugawaji wa mesh kwa msingi wa elementi ni chaguo kwa matumizi kama uchanganuzi uliounganishwa ambapo taarifa baada ya ugawaji wa mesh zinashughulikiwa hasa kwa elementi.

Chagua mbinu ya ugawaji wa mesh kulingana na jiometri na idadi ya vikoa. Kwa jiometri rahisi ambapo idadi ya vikoa inaweza kuwa \(2^n\), RCB ni chaguo rahisi na thabiti. Kwa jiometri tata au ukitaka idadi yoyote ya vikoa, METIS inayotegemea ugawaji wa mesh kwa grafu ni chaguo.

Sifa ya tatizo Chaguo linalopendekezwa
Uchanganuzi wa kawaida sambamba wa miundo / upitishaji joto Ugawaji wa mesh kwa msingi wa nodi
Matumizi yanayotumia taarifa iliyosambazwa inayolenga elementi, kama uchanganuzi uliounganishwa Ugawaji wa mesh kwa msingi wa elementi
Jiometri rahisi inayokaribia umbo la kisanduku, na idadi ya vikoa \(2^n\) RCB
Jiometri tata au idadi yoyote ya vikoa METIS
Tatizo la mgusano au tatizo lenye kizuizi cha MPC linalotumia kiandaliaji awali cha SAINV Ugawaji wa mesh kwa msingi wa nodi yenye kina cha mwingiliano 2 au zaidi

Idadi ya vikoa kwa kawaida hulinganishwa na idadi ya michakato ya MPI. Kwa utaratibu wa utekelezaji sambamba na jinsi ya kubainisha idadi ya michakato, tazama Uchanganuzi kwa uchakataji sambamba. Kwa uhusiano kati ya kiandaliaji awali cha SAINV na kina cha mwingiliano, tazama pia Kitatuzi na uandaaji awali.

Aina ya ugawaji

Aina ya ugawaji ni uchaguzi unaoamua ni kitengo kipi ndani ya mesh kitapewa kikoa kimoja kidogo cha umiliki. Kwa ugawaji wa mesh kwa msingi wa nodi, umiliki wa nodi huamuliwa; kwa ugawaji wa mesh kwa msingi wa elementi, umiliki wa elementi huamuliwa. Katika zote mbili, taarifa zinazohitajika kwa hesabu na vikoa vidogo jirani huhifadhiwa kama mwingiliano.

Ugawaji wa mesh kwa msingi wa nodi

Katika ugawaji wa mesh kwa msingi wa nodi, kila nodi hupewa kikoa kimoja kidogo cha umiliki. Katika vikoa vidogo jirani, elementi huhifadhiwa kwa mwingiliano. Katika ingizo, hubainishwa kwa !PARTITION, TYPE=NODE-BASED.

Dhana ya ugawaji wa mesh kwa msingi wa nodi

Mchoro 10.1 Dhana ya ugawaji wa mesh kwa msingi wa nodi

Kila kikoa kidogo huhifadhi nodi za ndani, elementi zinazojumuisha nodi hizo za ndani, na nodi zinazounda elementi hizo.

Nodi na elementi zinazohifadhiwa na kila kikoa kidogo katika ugawaji wa mesh kwa msingi wa nodi

Mchoro 10.2 Nodi na elementi zinazohifadhiwa na kila kikoa kidogo katika ugawaji wa mesh kwa msingi wa nodi

Majedwali ya mawasiliano ya ugawaji wa mesh kwa msingi wa nodi yana taarifa zifuatazo.

  • Nodi za kuingizwa: Nodi zinazotumika ndani ya kikoa kidogo lakini zinamilikiwa na kikoa kingine kidogo.
  • Nodi za kutolewa: Nodi za ndani ambazo ni nodi za kuingizwa za kikoa kingine kidogo.
  • Elementi zinazoshirikiwa: Elementi zinazoshirikiwa na vikoa vingine vidogo.

Nodi za kuingizwa katika ugawaji wa mesh kwa msingi wa nodi

Mchoro 10.3 Nodi za kuingizwa katika ugawaji wa mesh kwa msingi wa nodi

Nodi za kutolewa katika ugawaji wa mesh kwa msingi wa nodi

Mchoro 10.4 Nodi za kutolewa katika ugawaji wa mesh kwa msingi wa nodi

Elementi zinazoshirikiwa katika ugawaji wa mesh kwa msingi wa nodi

Mchoro 10.5 Elementi zinazoshirikiwa katika ugawaji wa mesh kwa msingi wa nodi

Ugawaji wa mesh kwa msingi wa elementi

Katika ugawaji wa mesh kwa msingi wa elementi, kila elementi hupewa kikoa kimoja kidogo cha umiliki. Katika vikoa vidogo jirani, nodi huhifadhiwa kwa mwingiliano. Katika ingizo, hubainishwa kwa !PARTITION, TYPE=ELEMENT-BASED.

Dhana ya ugawaji wa mesh kwa msingi wa elementi

Mchoro 10.6 Dhana ya ugawaji wa mesh kwa msingi wa elementi

Kila kikoa kidogo huhifadhi elementi za ndani, nodi zinazounda elementi hizo za ndani, na elementi zinazojumuisha nodi hizo.

Nodi na elementi zinazohifadhiwa na kila kikoa kidogo katika ugawaji wa mesh kwa msingi wa elementi

Mchoro 10.7 Nodi na elementi zinazohifadhiwa na kila kikoa kidogo katika ugawaji wa mesh kwa msingi wa elementi

Majedwali ya mawasiliano ya ugawaji wa mesh kwa msingi wa elementi yana taarifa zifuatazo.

  • Elementi za kuingizwa: Elementi zinazotumika ndani ya kikoa kidogo lakini zinamilikiwa na kikoa kingine kidogo.
  • Elementi za kutolewa: Elementi za ndani ambazo ni elementi za kuingizwa za kikoa kingine kidogo.
  • Nodi zinazoshirikiwa: Nodi zinazoshirikiwa na vikoa vingine vidogo.

Elementi za kuingizwa katika ugawaji wa mesh kwa msingi wa elementi

Mchoro 10.8 Elementi za kuingizwa katika ugawaji wa mesh kwa msingi wa elementi

Elementi za kutolewa katika ugawaji wa mesh kwa msingi wa elementi

Mchoro 10.9 Elementi za kutolewa katika ugawaji wa mesh kwa msingi wa elementi

Nodi zinazoshirikiwa katika ugawaji wa mesh kwa msingi wa elementi

Mchoro 10.10 Nodi zinazoshirikiwa katika ugawaji wa mesh kwa msingi wa elementi

Kwa aina zote mbili za ugawaji, hecmw_part1 hutengeneza majedwali ya mawasiliano kiotomatiki na kuyaandika katika data ya mesh iliyosambazwa. Kwa hiyo, kwa kawaida mtumiaji hahitaji kutengeneza taarifa za uingizaji/utoaji moja kwa moja.

Mbinu za ugawaji wa mesh

Mbinu ya ugawaji wa mesh huamua jinsi mipaka ya kikoa kidogo inavyoundwa. FrontISTR hutumia RCB inayotegemea viwianishi na METIS inayotegemea ugawaji wa mesh kwa grafu.

Mbinu ya ugawaji wa mesh Sifa Vikwazo na tahadhari kuu
RCB Hugawanya mesh mara mbili kwa kurudia kulingana na thamani ya viwianishi. Hutoa ugawaji wa haraka wa mesh kwa jiometri rahisi. Idadi ya vikoa imewekewa kikomo cha \(2^n\). Mihimili ya ugawaji wa mesh lazima ibainishwe.
pMETIS Hutumia ugawaji wa mesh kwa grafu huku ikizingatia muunganisho kati ya vikoa. Inapatikana kwenye toleo lililojengwa na METIS iliyowezeshwa.
kMETIS Hutumia ugawaji wa mesh wa njia nyingi kwa grafu, hivyo kurahisisha kuunda mipaka ya vikoa kwa jiometri tata. Inapatikana kwenye toleo lililojengwa na METIS iliyowezeshwa.

RCB ni kifupi cha Recursive Coordinate Bisection na hurudia kugawanya mesh mara mbili kando ya mihimili ya viwianishi. Inafaa ikiwa idadi ya vikoa inaweza kuwa \(2^n\) na ni rahisi kutumia kwa jiometri rahisi ya umbo la boksi.

METIS huchukulia muunganisho wa mesh kama grafu na kutengeneza vikoa vidogo kwa ugawaji wa mesh kwa grafu. Ni chaguo kwa jiometri tata au ikiwa idadi ya vikoa haitakiwi kufungwa kwa \(2^n\). Ili kutumia METIS, maktaba ya METIS lazima iwe imewezeshwa wakati wa ujenzi. Kwa ushughulikiaji wa tegemezi, tazama tegemezi zinazohitajika na za hiari.

Kina cha mwingiliano

Kina cha mwingiliano ni idadi ya tabaka katika masafa yanayohifadhiwa kwa kurudiwa na vikoa vidogo jirani. Kwa ugawaji wa mesh kwa msingi wa nodi, kigezo cha DEPTH cha !PARTITION kinaweza kubainishwa kama nambari kamili ya 1 au zaidi. Kina chaguo-msingi cha mwingiliano ni 1.

Kwa uchanganuzi wa kawaida sambamba, DEPTH=1 inatosha. Hata hivyo, familia ya viandaliaji awali vya SAI kama SAINV ikitumika kwa tatizo la mgusano au tatizo lenye kizuizi cha MPC, kuongeza kina cha mwingiliano hadi 2 au zaidi kunaweza kuboresha ubora wa uandaaji awali.

Kina cha mwingiliano cha 2 au zaidi pia kinahitajika wakati uundaji wa ulainishaji teule wa kingo/nodi (FORM341=SELECTIVE_ESNS) unapotumika kwa elementi ya tetrahedra ya daraja la kwanza 341 katika hesabu sambamba za MPI. Ulainishaji wa msingi wa kingo na wa msingi wa nodi hufanya wastani wa kiasi cha elementi zilizo jirani na elementi lengwa; kwa hiyo kukusanya ugumu ndani ya kikoa kidogo kunahitaji taarifa za elementi zilizo umbali wa tabaka za ujirani mbili, na DEPTH=1 chaguo-msingi haitoshi kwa ulainishaji karibu na mipaka ya vikoa. Kwa maelezo ya uundaji wa elementi, tazama Maktaba ya elementi.

Kuongeza kina cha mwingiliano huongeza idadi ya nodi na elementi zinazohifadhiwa na vikoa vidogo jirani, hivyo kuongeza matumizi ya kumbukumbu na kiasi cha mawasiliano. Weka thamani kwa kulinganisha uboreshaji wa konverjensi na ongezeko la gharama ya hesabu. Kwa uchaguzi wa uandaaji awali, tazama Kitatuzi na uandaaji awali.

Ushughulikiaji wa nukta za mgusano

Unapogawanya mesh yenye jozi za mgusano, kigezo cha CONTACT cha !PARTITION kinaweza kutumika kubainisha sera ya kugawa nukta za mgusano kwa vikoa. Uwekaji wa nukta za mgusano huathiri uthabiti na kiasi cha mawasiliano ya uchanganuzi sambamba unaojumuisha utafutaji wa mgusano na vikwazo vya mgusano.

Thamani Jukumu
DEFAULT Hutumia sera ya kawaida ya uwekaji.
SIMPLE Hutumia uwekaji unaokaribiana na ugawaji wa mesh ya kawaida bila kutoa uzito maalumu kwa nukta za mgusano.
AGGREGATE Hugawanya kwa mwelekeo wa kukusanya vikundi vya nodi vinavyohusiana na jozi za mgusano.
DISTRIBUTE Hugawanya ili nodi za mgusano za upande wa MASTER zisikusanyike sana katika vikoa vidogo fulani.

Kwa mesh isiyo na mgusano, kwa kawaida hakuna haja ya kuzingatia kigezo CONTACT. Ikiwa konverjensi au usawazishaji wa mzigo una tatizo katika uchanganuzi sambamba wenye mgusano, pitia upya sera ya uwekaji wa nukta za mgusano. Kwa maelezo ya sintaksia ya ingizo, tazama !PARTITION.

Bila kutegemea hilo, kigezo CONTACT_OWNER kinaweza kutumika kuchagua mpango wa umiliki wa mgusano sambamba. Wakati CONTACT hubainisha “jinsi ya kugawanya”, CONTACT_OWNER hubainisha “ni upande gani unaowajibika baada ya kugawanya”.

Thamani Jukumu
MASTER Mpango wa umiliki wa MASTER (chaguo-msingi). Uso wa MASTER hugawanywa kati ya vikoa vinavyomiliki elementi, na nodi za SLAVE hunakiliwa katika kila kikoa kinachomiliki sehemu ya uso wa MASTER.
SLAVE Mpango wa umiliki wa SLAVE. Kila nodi ya SLAVE huhifadhiwa na kikoa kinachoimiliki pekee, na uso wote wa MASTER huwekwa katika kikoa hicho.

Kwa utelezi wenye kikomo (INTERACTION=FSLID ya !CONTACT), nodi ya SLAVE inapovuka mpaka wa kikoa kwenye uso wa MASTER, kwa MASTER utafutaji wa ujirani unaweza kukatika kwenye mpaka, hali ya mgusano na historia ya msuguano zikapotea, na suluhisho likategemea idadi ya vikoa. SLAVE huepuka tatizo hili. Inaweza kubainishwa tu kwa TYPE=NODE-BASED; matumizi ya kumbukumbu huongezeka katika vikoa vinavyomiliki nodi za SLAVE.

Kutoa picha ya ugawaji wa mesh

Ukibainisha kigezo UCD cha !PARTITION, faili ya UCD inaweza kutolewa ili kukagua matokeo ya ugawaji wa mesh. Faili ya UCD inaweza kutumika katika zana ya uonyeshaji kama MicroAVS kukagua nambari za vikoa na mipaka ya ugawaji.

Baada ya kubadilisha idadi ya vikoa, mbinu ya ugawaji wa mesh, au kina cha mwingiliano, ni muhimu kukagua ikiwa kuna kutokuwa na uwiano kati ya vikoa au mgawanyiko usio wa kawaida. Tokeo la UCD ni kipengele saidizi cha kuthibitisha uhalali wa ugawaji wa mesh kabla ya kuendesha uchanganuzi sambamba.

Mada zinazohusiana