Delenie oblasti¶
Keď sa rozsiahla sieť analyzuje paralelne pomocou viacerých procesov, sieť jednej oblasti sa musí najprv rozdeliť na podoblasti a vopred sa musia vytvoriť informácie potrebné na priradenie jednotlivých procesov a komunikáciu medzi oblasťami. Tento krok predspracovania sa nazýva delenie oblasti.
Pri paralelnom výpočte FrontISTR hecmw_part1 rozdelí sieť jednej oblasti na podoblasti a vytvorí distribuované dáta siete. Vytvorené distribuované dáta siete načíta paralelný fistr1 a paralelný riešič ich používa spolu s informáciami potrebnými na komunikáciu medzi oblasťami.
Táto stránka opisuje typ rozdelenia, metódu delenia, hĺbku prekrytia a spracovanie kontaktných bodov zvolené pri delení oblasti. Postup spustenia hecmw_part1, konkrétnu syntax riadiaceho súboru a chybové hlásenia nájdete v súvisiacich témach.
Prehľad¶
Delenie oblasti je proces rozdelenia siete jednej oblasti na viacero podoblastí. FrontISTR vytvára distribuované dáta siete kombináciou typu rozdelenia, metódy delenia, počtu oblastí a hĺbky prekrytia.
| Kritérium voľby | Hlavné možnosti | Úloha |
|---|---|---|
| Typ rozdelenia | Delenie podľa uzlov, delenie podľa prvkov | Určuje, či sa vlastníctvo priraďuje podľa uzla alebo prvku. |
| Metóda delenia | RCB, METIS (pMETIS / kMETIS) | Určuje spôsob vytvorenia hraníc oblastí. |
| Počet oblastí | Ľubovoľné kladné celé číslo (\(2^n\) pre RCB) | Určuje počet podoblastí v distribuovaných dátach siete. Zvyčajne sa zhoduje s počtom procesov MPI. |
| Hĺbka prekrytia | Celé číslo 1 alebo väčšie | Určuje rozsah redundantne uchovávaný susednými oblasťami. Zadáva sa pri delení podľa uzlov. |
| Komunikačné tabuľky | Informácie o importe/exporte, zdieľané informácie | Definujú výmenu dát potrebnú medzi susednými podoblasťami. Vytvárajú sa automaticky počas delenia oblasti. |
Keďže komunikačné tabuľky sú súčasťou distribuovaných dát siete, používatelia ich zvyčajne nemusia priamo upravovať. Paralelný fistr1 načíta distribuované dáta siete a rieši lineárne rovnice pomocou paralelnej priamej metódy, napríklad MUMPS, alebo iteračnej metódy.
Voľba konfigurácie delenia oblasti¶
Pri bežných štrukturálnych analýzach a analýzach vedenia tepla treba spravidla najprv zvážiť delenie podľa uzlov. Delenie podľa uzlov zjednodušuje komunikáciu uzlových hodnôt potrebných v paralelnej analýze metódou konečných prvkov a umožňuje tiež zadať hĺbku prekrytia. Delenie podľa prvkov je možnosťou pre aplikácie, ako je viazaná analýza, v ktorých sa majú rozdelené informácie spracúvať predovšetkým podľa prvkov.
Metódu delenia zvoľte podľa geometrie a počtu oblastí. Pre jednoduché geometrie, kde môže byť počet oblastí \(2^n\), je RCB jednoduchou a stabilnou voľbou. Pre zložité geometrie alebo keď je potrebný ľubovoľný počet oblastí, je kandidátom METIS založený na delení grafu.
| Charakteristika úlohy | Odporúčaná voľba |
|---|---|
| Štandardná paralelná štrukturálna analýza alebo analýza vedenia tepla | Delenie podľa uzlov |
| Aplikácie používajúce distribuované informácie orientované na prvky, napríklad viazaná analýza | Delenie podľa prvkov |
| Jednoduchá geometria blízka kvádru s \(2^n\) oblasťami | RCB |
| Zložitá geometria alebo ľubovoľný počet oblastí | METIS |
| Kontaktné úlohy alebo úlohy s väzbami MPC používajúce predpodmieňovač SAINV | Použite delenie podľa uzlov s hĺbkou prekrytia 2 alebo väčšou |
Počet oblastí sa zvyčajne nastavuje podľa počtu procesov MPI. Postup paralelného spustenia a zadanie počtu procesov nájdete v Paralelnej analýze. Vzťah medzi predpodmieňovačom SAINV a hĺbkou prekrytia nájdete aj v Riešiči a predpodmieňovačoch.
Typy rozdelenia¶
Typ rozdelenia určuje, ktorej entite siete sa priradí jedinečné vlastníctvo podoblasťou. Delenie podľa uzlov priraďuje vlastníctvo uzlom, zatiaľ čo delenie podľa prvkov priraďuje vlastníctvo prvkom. V oboch prípadoch sa informácie potrebné na výpočet so susednými podoblasťami uchovávajú ako dáta prekrytia.
Delenie podľa uzlov¶
Pri delení podľa uzlov je každý uzol priradený presne jednej vlastníckej podoblasti. Prvky sa s prekrytím uchovávajú v susedných podoblastiach. Vo vstupe sa to zadáva pomocou !PARTITION, TYPE=NODE-BASED.

Každá podoblasť uchováva svoje vnútorné uzly, prvky obsahujúce tieto vnútorné uzly a uzly tvoriace tieto prvky.

Komunikačné tabuľky pri delení podľa uzlov obsahujú nasledujúce informácie.
- Importované uzly: Uzly používané v podoblasti, ktoré vlastní iná podoblasť.
- Exportované uzly: Vnútorné uzly, ktoré sú importovanými uzlami inej podoblasti.
- Zdieľané prvky: Prvky zdieľané s inými podoblasťami.



Delenie podľa prvkov¶
Pri delení podľa prvkov je každý prvok priradený presne jednej vlastníckej podoblasti. Uzly sa s prekrytím uchovávajú v susedných podoblastiach. Vo vstupe sa to zadáva pomocou !PARTITION, TYPE=ELEMENT-BASED.

Každá podoblasť uchováva svoje vnútorné prvky, uzly tvoriace tieto vnútorné prvky a prvky obsahujúce tieto uzly.

Komunikačné tabuľky pri delení podľa prvkov obsahujú nasledujúce informácie.
- Importované prvky: Prvky používané v podoblasti, ktoré vlastní iná podoblasť.
- Exportované prvky: Vnútorné prvky, ktoré sú importovanými prvkami inej podoblasti.
- Zdieľané uzly: Uzly zdieľané s inými podoblasťami.



Pri oboch typoch rozdelenia hecmw_part1 automaticky vytvára komunikačné tabuľky a zapisuje ich do distribuovaných dát siete. Používatelia preto zvyčajne nemusia priamo vytvárať informácie o importe/exporte.
Metódy delenia¶
Metóda delenia určuje spôsob vytvorenia hraníc podoblastí. FrontISTR podporuje RCB založené na súradniciach a METIS založený na delení grafu.
| Metóda delenia | Charakteristika | Hlavné obmedzenia a poznámky |
|---|---|---|
| RCB | Rekurzívne delí sieť na polovice podľa hodnôt súradníc. Poskytuje rýchle delenie pre jednoduché geometrie. | Počet oblastí je obmedzený na \(2^n\). Musia sa zadať osi delenia. |
| pMETIS | Používa delenie grafu so zohľadnením konektivity medzi oblasťami. | Dostupné v zostaveniach s povoleným METIS. |
| kMETIS | Používa viacnásobné delenie grafu, vďaka čomu je vhodný na vytváranie hraníc oblastí v zložitých geometriách. | Dostupné v zostaveniach s povoleným METIS. |
RCB znamená Recursive Coordinate Bisection a opakovane delí sieť na polovice pozdĺž súradnicových osí. Je vhodné, keď môže byť počet oblastí \(2^n\), a jednoducho sa používa pri jednoduchých geometriách podobných kvádru.
METIS spracúva konektivitu siete ako graf a vytvára podoblasti delením grafu. Je kandidátom pre zložité geometrie alebo keď počet oblastí nemá byť obmedzený na \(2^n\). Na použitie METIS musí byť pri zostavovaní povolená knižnica METIS. Spracovanie závislostí nájdete v Povinných a voliteľných závislostiach.
Hĺbka prekrytia¶
Hĺbka prekrytia je počet vrstiev v rozsahu redundantne uchovávanom susednými podoblasťami. Pri delení podľa uzlov umožňuje !PARTITION zadať parametrom DEPTH celé číslo 1 alebo väčšie. Predvolená hĺbka prekrytia je 1.
Pri bežnej paralelnej analýze postačuje DEPTH=1. Ak sa však pri kontaktnej úlohe alebo úlohe s väzbami MPC používa predpodmieňovač z rodiny SAI, napríklad SAINV, zvýšenie hĺbky prekrytia na 2 alebo viac môže zlepšiť kvalitu predpodmieňovača.
Hĺbka prekrytia 2 alebo väčšia sa vyžaduje aj vtedy, keď sa pri lineárnom tetraedrickom prvku 341 v paralelnom výpočte MPI používa formulácia selektívneho hranového/uzlového vyhladzovania (FORM341=SELECTIVE_ESNS). Hranové a uzlové vyhladzovanie priemeruje veličiny cez prvky susediace s cieľovým prvkom, takže zostavenie tuhosti v podoblasti vyžaduje informácie z prvkov vzdialených dve vrstvy susednosti; pri predvolenom DEPTH=1 je vyhladzovanie pri hraniciach oblastí nedostatočné. Podrobnosti o formulácii prvku nájdete v Knižnici prvkov.
Zvýšenie hĺbky prekrytia zvyšuje počet uzlov a prvkov uchovávaných susednými podoblasťami, a tým zvyšuje spotrebu pamäte aj objem komunikácie. Nastavte ju s ohľadom na kompromis medzi lepšou konvergenciou a vyššími výpočtovými nákladmi. Výber predpodmieňovača nájdete v Riešiči a predpodmieňovačoch.
Spracovanie kontaktných bodov¶
Pri delení siete obsahujúcej kontaktné páry umožňuje !PARTITION pomocou parametra CONTACT zadať politiku umiestnenia kontaktných bodov do oblastí. Umiestnenie kontaktných bodov ovplyvňuje stabilitu a objem komunikácie paralelných analýz zahŕňajúcich vyhľadávanie kontaktu a kontaktné väzby.
| Hodnota | Úloha |
|---|---|
DEFAULT | Používa štandardnú politiku umiestnenia. |
SIMPLE | Používa umiestnenie blízke bežnému deleniu bez priradenia osobitných váh kontaktným bodom. |
AGGREGATE | Delí tak, aby sa uzly súvisiace s kontaktnými pármi zoskupovali. |
DISTRIBUTE | Delí tak, aby sa kontaktné uzly na strane master menej sústreďovali v určitých podoblastiach. |
Pri sieťach bez kontaktu parameter CONTACT spravidla nevyžaduje pozornosť. Ak je pri paralelnej analýze s kontaktom problematická konvergencia alebo vyváženie zaťaženia, prehodnoťte politiku umiestnenia kontaktných bodov. Podrobnosti o vstupnej syntaxi nájdete v !PARTITION.
Nezávisle od toho možno parametrom CONTACT_OWNER zvoliť schému vlastníctva pre paralelný kontakt. Kým CONTACT určuje „ako deliť“, CONTACT_OWNER určuje „ktorá strana je po rozdelení zodpovedná“.
| Hodnota | Úloha |
|---|---|
MASTER | Schéma vlastníka master (predvolená). Plocha master sa rozdelí podľa oblastí vlastniacich prvky a uzly slave sa replikujú do každej oblasti vlastniacej master. |
SLAVE | Schéma vlastníka slave. Každý uzol slave sa uchováva iba vo svojej vlastníckej oblasti a celá plocha master sa umiestni do tejto oblasti. |
Pri konečnom kĺzaní (INTERACTION=FSLID v !CONTACT), keď uzol slave prekročí hranicu delenia oblasti na ploche master, môže schéma MASTER na hranici prerušiť vyhľadávanie susednosti, čo spôsobí stratu kontaktného stavu a histórie trenia a závislosť riešenia od počtu oblastí. Schéma SLAVE sa tomuto problému vyhýba. Možno ju zadať iba pri TYPE=NODE-BASED; spotreba pamäte sa zvýši v oblastiach vlastniacich uzly slave.
Výstup obrazu delenia oblasti¶
Pri !PARTITION zadanie parametra UCD vytvorí súbor UCD na kontrolu výsledku delenia. Súbor UCD možno použiť s vizualizačnými nástrojmi, napríklad MicroAVS, na kontrolu čísel oblastí a hraníc rozdelenia.
Po zmene počtu oblastí, metódy delenia alebo hĺbky prekrytia je dôležité skontrolovať nevyváženosť medzi rozdelenými oblasťami alebo neprirodzenú fragmentáciu. Výstup UCD je pomocná funkcia na overenie platnosti rozdelenia pred spustením paralelnej analýzy.
Súvisiace témy¶
- Paralelná analýza — postup spustenia
hecmw_part1, vstupné súbory a overenie výstupu distribuovaných dát siete. - Riešič a predpodmieňovače — paralelné riešiče, predpodmieňovače a vzťah medzi SAINV a hĺbkou prekrytia.
- Zoznam chybových hlásení — reprezentatívne chybové hlásenia z
hecmw_part1afistr1. - Paralelná metóda konečných prvkov — teoretické pozadie delenia oblasti a paralelných metód konečných prvkov.
- !PARTITION — vstupná syntax riadiacich dát nástroja na delenie oblasti.