Sarearen partizionamendua¶
Eskala handiko sare bat hainbat prozesurekin paraleloan analizatzeko, domeinu bakarreko sarea azpidomeinuetan zatitu behar da, eta prozesu bakoitzari dagokion eremua zein domeinuen arteko komunikaziorako behar den informazioa aldez aurretik sortu. Aurreprozesu horri sarearen partizionamendua deritzo.
FrontISTR-en kalkulu paraleloan, hecmw_part1-ek domeinu bakarreko sarea azpidomeinuetan zatitzen du eta banatutako sare-datuak sortzen ditu. Sortutako datuak fistr1 paraleloak irakurtzen ditu eta domeinuen arteko komunikaziorako informazioarekin batera ebazle paraleloak erabiltzen ditu.
Orrialde honek sarearen partizionamenduan hautatzen diren zatiketa mota, zatiketa-metodoa, gainjartze-sakonera eta kontaktu-puntuen tratamendua azaltzen ditu. hecmw_part1 exekutatzeko prozedura, kontrol-fitxategiaren sintaxi zehatza eta errore-mezuak ikusteko, kontsultatu lotutako gaiak.
Funtzioen ikuspegi orokorra¶
Sarearen partizionamendua domeinu bakarreko sarea hainbat azpidomeinutan zatitzeko prozesua da. FrontISTR-en, zatiketa mota, zatiketa-metodoa, domeinu kopurua eta gainjartze-sakonera konbinatzen dira banatutako sare-datuak sortzeko.
| Hautaketa-ardatza | Aukera nagusiak | Eginkizuna |
|---|---|---|
| Zatiketa mota | Nodoetan oinarritua, elementuetan oinarritua | Jabetza nodoen edo elementuen unitatean zehaztuko den erabakitzen du. |
| Zatiketa-metodoa | RCB, METIS (pMETIS / kMETIS) | Domeinu-mugak nola sortzen diren zehazten du. |
| Domeinu kopurua | Edozein osoko positibo (RCB-n \(2^n\)) | Banatutako sare-datuetako azpidomeinu kopurua zehazten du. Normalean MPI prozesuen kopuruarekin bat egiten du. |
| Gainjartze-sakonera | 1 edo handiagoa den osokoa | Aldameneko domeinuek gainjarrita mantentzen duten hedadura zehazten du. Nodoetan oinarritutako zatiketan zehazten da. |
| Komunikazio-taula | Inportazio/esportazio informazioa eta partekatutako informazioa | Aldameneko azpidomeinuen arteko datu-trukea definitzen du. Sarearen partizionamenduan automatikoki sortzen da. |
Komunikazio-taula banatutako sare-datuetan sartuta dago; beraz, ohiko analisietan erabiltzaileak ez du zuzenean editatu behar. fistr1 paraleloak datu horiek irakurtzen ditu eta ekuazio linealak MUMPS bezalako metodo zuzen paraleloekin edo metodo iteratiboekin ebazten ditu.
Sarearen partizionamendua hautatzea¶
Ohiko egitura- eta bero-eroapen analisietan, lehen aukera nodoetan oinarritutako zatiketa izan ohi da. Mota horrek erraz kudeatzen du elementu finituen analisi paraleloan behar den nodo-balioen komunikazioa eta gainjartze-sakonera ere zehaztu daiteke. Elementuetan oinarritutako zatiketa egokia izan daiteke informazio banatua elementuetan zentratuta kudeatu nahi den kasuetan, adibidez analisi akoplatuetan.
Zatiketa-metodoa geometriaren eta domeinu kopuruaren arabera hautatzen da. Geometria sinplea bada eta domeinu kopurua \(2^n\) izan badaiteke, RCB aukera sinple eta egonkorra da. Geometria konplexuetarako edo edozein domeinu kopurutan zatitzeko, kontuan hartu grafoko zatiketan oinarritutako METIS.
| Arazoaren ezaugarria | Gomendatutako aukera |
|---|---|
| Egitura- edo bero-eroapen analisiko ohiko kalkulu paraleloa | Nodoetan oinarritutako zatiketa |
| Elementuetan zentratutako informazio banatua erabiltzen duten aplikazioak, hala nola analisi akoplatuak | Elementuetan oinarritutako zatiketa |
| Paralelepipedo baten antzeko geometria sinplea eta \(2^n\) domeinu | RCB |
| Geometria konplexua edo edozein domeinu kopuru | METIS |
| SAINV aurrebaldintzapena erabiltzen duten kontaktu- edo MPC murrizketa-arazoak | Nodoetan oinarritutako zatiketa, gainjartze-sakonera 2 edo handiagoa |
Domeinu kopurua normalean MPI prozesuen kopuruarekin bat etortzen da. Exekuzio paraleloaren prozedura eta prozesu kopurua zehazteko, ikus Analisi paraleloa. SAINV aurrebaldintzapenaren eta gainjartze-sakoneraren arteko erlaziorako, ikus halaber Ebazlea eta aurrebaldintzapena.
Zatiketa motak¶
Zatiketa motak sareko zein unitateri esleituko zaion azpidomeinu bakarra erabakitzen du. Nodoetan oinarritutako zatiketan nodoen jabetza zehazten da; elementuetan oinarritutakoan, elementuena. Bi kasuetan, aldameneko azpidomeinuekin kalkulatzeko behar den informazioa gainjartze gisa mantentzen da.
Nodoetan oinarritutako zatiketa¶
Nodoetan oinarritutako zatiketan, nodo bakoitzari azpidomeinu bakar bat esleitzen zaio. Aldameneko azpidomeinuetan elementuak gainjarrita mantentzen dira. Sarreran !PARTITION, TYPE=NODE-BASED bidez zehazten da.

Azpidomeinu bakoitzak barne-nodoak, barne-nodoak dituzten elementuak eta elementu horiek osatzen dituzten nodoak mantentzen ditu.

Nodoetan oinarritutako zatiketaren komunikazio-taulak honako informazioa du.
- Inportatutako nodoak: azpidomeinuan erabiltzen diren baina beste azpidomeinu baten jabetzakoak diren nodoak.
- Esportatutako nodoak: beste azpidomeinu batean inportatutako nodo gisa erabiltzen diren barne-nodoak.
- Partekatutako elementuak: beste azpidomeinu batzuekin partekatzen diren elementuak.



Elementuetan oinarritutako zatiketa¶
Elementuetan oinarritutako zatiketan, elementu bakoitzari azpidomeinu bakar bat esleitzen zaio. Aldameneko azpidomeinuetan nodoak gainjarrita mantentzen dira. Sarreran !PARTITION, TYPE=ELEMENT-BASED bidez zehazten da.

Azpidomeinu bakoitzak barne-elementuak, barne-elementuak osatzen dituzten nodoak eta nodo horiek dituzten elementuak mantentzen ditu.

Elementuetan oinarritutako zatiketaren komunikazio-taulak honako informazioa du.
- Inportatutako elementuak: azpidomeinuan erabiltzen diren baina beste azpidomeinu baten jabetzakoak diren elementuak.
- Esportatutako elementuak: beste azpidomeinu batean inportatutako elementu gisa erabiltzen diren barne-elementuak.
- Partekatutako nodoak: beste azpidomeinu batzuekin partekatzen diren nodoak.



Bi zatiketa motetan, hecmw_part1-ek komunikazio-taula automatikoki sortu eta banatutako sare-datuetan idazten du. Horregatik, ohiko analisietan erabiltzaileak ez du inportazio/esportazio informazioa zuzenean sortu behar.
Zatiketa-metodoak¶
Zatiketa-metodoak azpidomeinuen mugak nola erabakitzen diren adierazten du. FrontISTR-en koordenatu-balioetan oinarritutako RCB eta grafoko zatiketan oinarritutako METIS erabil daitezke.
| Zatiketa-metodoa | Ezaugarriak | Muga eta ohar nagusiak |
|---|---|---|
| RCB | Koordenatu-balioen arabera errekurtsiboki bitan zatitzen du. Geometria sinpleak azkar bana ditzake. | Domeinu kopurua \(2^n\)-ra mugatzen da. Zatiketa-ardatza zehaztu behar da. |
| pMETIS | Grafoko zatiketan oinarrituta, domeinuen arteko konektibitatea kontuan hartzen du. | METIS gaituta duen eraikuntzan erabil daiteke. |
| kMETIS | Domeinu anitzeko grafoko zatiketan oinarritzen da eta geometria konplexuetan ere domeinu-mugak sortzea errazten du. | METIS gaituta duen eraikuntzan erabil daiteke. |
RCB Recursive Coordinate Bisection-en laburdura da eta sarea koordenatu-ardatzetan zehar bitan zatitzeko prozesua errepikatzen du. Egokia da domeinu kopurua \(2^n\) izan daitekeenean, eta erraz erabiltzen da paralelepipedo-antzeko geometria sinpleetan.
METIS-ek sarearen konektibitatea grafotzat hartzen du eta azpidomeinuak grafoko zatiketaren bidez sortzen ditu. Hautagai egokia da geometria konplexuetan edo domeinu kopurua \(2^n\)-ra mugatu nahi ez denean. METIS erabiltzeko, METIS liburutegia eraikuntza garaian gaituta egon behar da. Mendekotasun-liburutegiei buruz, ikus Nahitaezko eta aukerako mendekotasun-liburutegiak.
Gainjartze-sakonera¶
Gainjartze-sakonera aldameneko azpidomeinuek bikoiztuta mantentzen duten eremuaren geruza kopurua da. Nodoetan oinarritutako zatiketan, !PARTITION-eko DEPTH parametroan 1 edo handiagoa den osokoa zehaztu daiteke. Lehenetsitako gainjartze-sakonera 1 da.
Ohiko analisi paraleloan DEPTH=1 nahikoa da. Aldiz, SAINV bezalako SAI familiako aurrebaldintzatzaileak kontaktu-arazoetan edo MPC murrizketa-arazoetan erabiltzen direnean, gainjartze-sakonera 2 edo handiagoa izateak aurrebaldintzapenaren kalitatea hobetu dezake.
Era berean, 341 lehen mailako tetraedro-elementuan ertz/nodo bidezko leunketa selektiboaren formulazioa (FORM341=SELECTIVE_ESNS) MPI paraleloan erabiltzean, gainjartze-sakonera 2 edo handiagoa izan behar da. Ertz/nodo bidezko leunketak helburuko elementuaren ondoko elementuen magnitudeak batezbestekatzen dituenez, azpidomeinu barruan zurruntasuna muntatzeko «auzokoaren auzoko» elementuen informazioa behar da; lehenetsitako DEPTH=1-ekin leunketa ez da nahikoa domeinu-mugen inguruan. Elementu-formulazioaren xehetasunetarako, ikus Elementuen liburutegia.
Gainjartze-sakonera handitzean, aldameneko azpidomeinuek nodo eta elementu gehiago mantentzen dituzte; ondorioz, memoria-erabilera eta komunikazio-bolumena ere handitzen dira. Ezarpena konbergentziaren hobekuntza eta kalkulu-kostuaren igoera alderatuz egin behar da. Aurrebaldintzatzailea hautatzeko, ikus Ebazlea eta aurrebaldintzapena.
Kontaktu-puntuen tratamendua¶
Kontaktu-bikoteak dituen sarea zatitzean, kontaktu-puntuak domeinuetan kokatzeko politika !PARTITION-eko CONTACT parametroarekin zehaztu daiteke. Kontaktu-puntuen kokapenak kontaktu-bilaketa edo kontaktu-murrizketak dituen analisi paraleloaren egonkortasunean eta komunikazio-bolumenean eragiten du.
| Balioa | Esanahia |
|---|---|
DEFAULT | Kokapen-politika estandarra erabiltzen du. |
SIMPLE | Ez die pisu berezirik ematen kontaktu-puntuei eta ohiko zatiketaren antzeko kokapena erabiltzen du. |
AGGREGATE | Kontaktu-bikotearekin lotutako nodo-taldeak elkarrekin mantentzeko joeraz zatitzen du. |
DISTRIBUTE | Kontaktuaren alde nagusiko nodoak azpidomeinuen artean gehiegi pilatzea saihesteko joeraz zatitzen du. |
Kontakturik gabeko sareetan ez da beharrezkoa CONTACT parametroaz arduratzea. Kontaktuak dituen analisi paraleloan konbergentzia edo karga-banaketa arazoak badaude, berrikusi kontaktu-puntuen kokapen-politika. Sarrera-sintaxiaren xehetasunetarako, ikus !PARTITION.
Horretatik independente, CONTACT_OWNER parametroak kontaktu paraleloaren jabetza-metodoa hautatzen du. CONTACT-ek «nola zatitu» zehazten duen bitartean, CONTACT_OWNER-ek «zatitu ondoren zein alde arduratuko den» zehazten du.
| Balioa | Esanahia |
|---|---|
MASTER | Nagusiaren jabetza-metodoa (lehenetsia). Aurpegi nagusiak elementuen jabetza-domeinuaren arabera zatitzen ditu eta nodo mendekoak nagusiaren jabetza-domeinu bakoitzean bikoizten ditu. |
SLAVE | Mendekoaren jabetza-metodoa. Nodo mendekoa bere jabetza-domeinuak bakarrik mantentzen du eta aurpegi nagusi osoa domeinu horretan kokatzen da. |
Irristatze finituan (!CONTACT-eko INTERACTION=FSLID), nodo mendeko batek aurpegi nagusiaren sarearen partizionamenduaren muga zeharkatzen badu, MASTER aukerarekin auzokide-bilaketa mugan eten daiteke, kontaktu-egoera eta marruskadura-historia gal daitezke, eta soluzioa domeinu kopuruaren mende geratu. SLAVE aukerak hori saihesten du. TYPE=NODE-BASED denean bakarrik zehaztu daiteke, eta mendekoaren jabe den domeinuaren memoria-erabilera handitzen da.
Sarearen partizionamenduaren irudia ateratzea¶
!PARTITION-eko UCD parametroa zehaztean, zatiketa-emaitza egiaztatzeko UCD fitxategia atera daiteke. UCD fitxategia MicroAVS eta antzeko bistaratze-tresnetan domeinu-zenbakiak eta zatiketa-mugak egiaztatzeko erabiltzen da.
Domeinu kopurua, zatiketa-metodoa edo gainjartze-sakonera aldatu ondoren, garrantzitsua da egiaztatzea zatitutako domeinuetan ez dagoela desoreka edo zatiketa artifizialik. UCD irteera zatiketaren egokitasuna analisi paraleloa exekutatu aurretik egiaztatzeko funtzio osagarria da.
Lotutako gaiak¶
- Analisi paraleloa —
hecmw_part1exekutatzeko prozedura, sarrera-fitxategiak eta banatutako sare-datuen irteera egiaztatzea. - Ebazlea eta aurrebaldintzapena — Ebazle paraleloen, aurrebaldintzapenaren, SAINV-ren eta gainjartze-sakoneraren arteko erlazioa.
- Errore-mezuen zerrenda —
hecmw_part1etafistr1-en errore-mezu adierazgarrienak. - Elementu finituen metodo paraleloa — Domeinu-deskonposizioaren eta elementu finituen metodo paraleloaren oinarri teorikoa.
- !PARTITION — Sarearen partizionamendu-utilitatearen kontrol-datuen sarrera-sintaxia.