Oblastların bölünməsi¶
Böyükmiqyaslı tor bir neçə proseslə paralel analiz edildikdə əvvəlcə bir oblastlı tor altoblastlara bölünməli və hər prosesə təyinat və oblastlararası rabitə üçün tələb olunan məlumat əvvəlcədən yaradılmalıdır. Bu ilkin emal mərhələsi oblastların bölünməsi adlanır.
FrontISTR paralel hesablamasında hecmw_part1 bir oblastlı toru altoblastlara bölür və paylanmış tor məlumatı yaradır. Yaradılmış paylanmış tor məlumatı paralel fistr1 tərəfindən oxunur və oblastlararası rabitə üçün tələb olunan məlumatla birlikdə paralel həlledici tərəfindən istifadə olunur.
Bu səhifədə oblastların bölünməsi üçün seçilən bölünmə növü, bölünmə üsulu, üst-üstə düşmə dərinliyi və kontakt nöqtələrinin emalı təsvir olunur. hecmw_part1 icra proseduru, konkret idarəetmə faylı sintaksisi və xəta mesajları üçün əlaqəli mövzulara baxın.
Ümumi baxış¶
Oblastların bölünməsi bir oblastlı torun bir neçə altoblasta bölünməsi prosesidir. FrontISTR bölünmə növünü, bölünmə üsulunu, oblastların sayını və üst-üstə düşmə dərinliyini birləşdirərək paylanmış tor məlumatı yaradır.
| Seçim meyarı | Əsas seçimlər | Rolu |
|---|---|---|
| Bölünmə növü | Düyün əsaslı bölünmə, element əsaslı bölünmə | Sahibliyin düyünə, yoxsa elementə görə təyin edilməsini müəyyən edir. |
| Bölünmə üsulu | RCB, METIS (pMETIS / kMETIS) | Oblast sərhədlərinin necə yaradılacağını müəyyən edir. |
| Oblastların sayı | İstənilən müsbət tam ədəd (RCB üçün \(2^n\)) | Paylanmış tor məlumatındakı altoblastların sayını müəyyən edir. Adətən MPI proseslərinin sayına uyğunlaşdırılır. |
| Üst-üstə düşmə dərinliyi | 1 və ya daha böyük tam ədəd | Qonşu oblastlar tərəfindən təkrarlı saxlanılan diapazonu müəyyən edir. Düyün əsaslı bölünmə üçün göstərilir. |
| Rabitə cədvəlləri | İdxal/ixrac məlumatı, ortaq məlumat | Qonşu altoblastlar arasında tələb olunan məlumat mübadiləsini təyin edir. Oblastların bölünməsi zamanı avtomatik yaradılır. |
Rabitə cədvəlləri paylanmış tor məlumatına daxil olduğundan istifadəçilərin adətən onları birbaşa redaktə etməsinə ehtiyac yoxdur. Paralel fistr1 paylanmış tor məlumatını oxuyur və MUMPS kimi paralel birbaşa üsuldan və ya iterativ üsuldan istifadə edərək xətti tənlikləri həll edir.
Oblast bölünməsi konfiqurasiyasının seçilməsi¶
Adi konstruksiya və istilik keçiriciliyi analizləri üçün ümumiyyətlə əvvəlcə düyün əsaslı bölünmə nəzərdən keçirilməlidir. Düyün əsaslı bölünmə paralel sonlu element analizində tələb olunan düyün qiymətlərinin rabitəsini sadələşdirir və üst-üstə düşmə dərinliyini göstərməyə də imkan verir. Element əsaslı bölünmə, paylanmış məlumatın əsasən element üzrə emal olunacağı əlaqələndirilmiş analiz kimi tətbiqlər üçün seçimdir.
Bölünmə üsulunu həndəsə və oblastların sayına əsasən seçin. Oblastların sayının \(2^n\) ola bildiyi sadə həndəsələr üçün RCB sadə və sabit seçimdir. Mürəkkəb həndəsələr və ya ixtiyari sayda oblast tələb olunduqda qraf bölünməsinə əsaslanan METIS namizəddir.
| Məsələnin xüsusiyyətləri | Tövsiyə olunan seçim |
|---|---|
| Standart paralel konstruksiya və ya istilik keçiriciliyi analizi | Düyün əsaslı bölünmə |
| Əlaqələndirilmiş analiz kimi element mərkəzli paylanmış məlumatdan istifadə edən tətbiqlər | Element əsaslı bölünmə |
| Düzbucaqlı prizmaya yaxın sadə həndəsə, \(2^n\) oblast | RCB |
| Mürəkkəb həndəsə və ya ixtiyari sayda oblast | METIS |
| SAINV önşərtləndiricisindən istifadə edən kontakt və ya MPC məhdudiyyətli məsələlər | Üst-üstə düşmə dərinliyi 2 və ya daha böyük olan düyün əsaslı bölünmədən istifadə edin |
Oblastların sayı adətən MPI proseslərinin sayına uyğunlaşdırılır. Paralel icra proseduru və proses sayının təyini üçün Paralel analiz bölməsinə baxın. SAINV önşərtləndiricisi ilə üst-üstə düşmə dərinliyi arasındakı əlaqə üçün həmçinin Həlledici və önşərtləndiricilər bölməsinə baxın.
Bölünmə növləri¶
Bölünmə növü hansı tor obyektinə altoblast tərəfindən unikal sahiblik veriləcəyini müəyyən edir. Düyün əsaslı bölünmə sahibliyi düyünlərə, element əsaslı bölünmə isə elementlərə təyin edir. Hər iki halda qonşu altoblastlarla hesablama üçün tələb olunan məlumat üst-üstə düşmə məlumatı kimi saxlanılır.
Düyün əsaslı bölünmə¶
Düyün əsaslı bölünmədə hər düyün dəqiq bir sahib altoblasta təyin edilir. Elementlər qonşu altoblastlarda üst-üstə düşmə ilə saxlanılır. Girişdə bu !PARTITION, TYPE=NODE-BASED ilə göstərilir.

Hər altoblast öz daxili düyünlərini, həmin daxili düyünləri ehtiva edən elementləri və həmin elementləri təşkil edən düyünləri saxlayır.

Düyün əsaslı bölünmə üçün rabitə cədvəlləri aşağıdakı məlumatları ehtiva edir.
- İdxal düyünləri: Altoblastda istifadə olunan, lakin başqa altoblasta məxsus düyünlər.
- İxrac düyünləri: Başqa altoblastın idxal düyünləri olan daxili düyünlər.
- Ortaq elementlər: Digər altoblastlarla ortaq elementlər.



Element əsaslı bölünmə¶
Element əsaslı bölünmədə hər element dəqiq bir sahib altoblasta təyin edilir. Düyünlər qonşu altoblastlarda üst-üstə düşmə ilə saxlanılır. Girişdə bu !PARTITION, TYPE=ELEMENT-BASED ilə göstərilir.

Hər altoblast öz daxili elementlərini, həmin daxili elementləri təşkil edən düyünləri və həmin düyünləri ehtiva edən elementləri saxlayır.

Element əsaslı bölünmə üçün rabitə cədvəlləri aşağıdakı məlumatları ehtiva edir.
- İdxal elementləri: Altoblastda istifadə olunan, lakin başqa altoblasta məxsus elementlər.
- İxrac elementləri: Başqa altoblastın idxal elementləri olan daxili elementlər.
- Ortaq düyünlər: Digər altoblastlarla ortaq düyünlər.



Hər iki bölünmə növü üçün hecmw_part1 rabitə cədvəllərini avtomatik yaradır və paylanmış tor məlumatına yazır. Buna görə istifadəçilərin adətən idxal/ixrac məlumatını birbaşa yaratmasına ehtiyac yoxdur.
Bölünmə üsulları¶
Bölünmə üsulu altoblast sərhədlərinin necə yaradıldığını müəyyən edir. FrontISTR koordinat əsaslı RCB-ni və qraf bölünməsi əsaslı METIS-i dəstəkləyir.
| Bölünmə üsulu | Xüsusiyyətlər | Əsas məhdudiyyətlər və qeydlər |
|---|---|---|
| RCB | Koordinat qiymətlərinə əsasən toru rekursiv olaraq iki yerə bölür. Sadə həndəsələr üçün sürətli bölünmə təmin edir. | Oblastların sayı \(2^n\) ilə məhduddur. Bölünmə oxları göstərilməlidir. |
| pMETIS | Oblastlar arasındakı əlaqəni nəzərə alaraq qraf bölünməsindən istifadə edir. | METIS aktiv olan yığımlarda mövcuddur. |
| kMETIS | Çoxyollu qraf bölünməsindən istifadə edir və mürəkkəb həndəsələrdə oblast sərhədlərinin yaradılması üçün uyğundur. | METIS aktiv olan yığımlarda mövcuddur. |
RCB Recursive Coordinate Bisection deməkdir və toru koordinat oxları boyunca təkrar iki yerə bölür. Oblastların sayı \(2^n\) ola bildikdə uyğundur və qutuya bənzər sadə həndəsələr üçün istifadəsi asandır.
METIS tor əlaqəliliyini qraf kimi qəbul edir və qraf bölünməsi ilə altoblastlar yaradır. Mürəkkəb həndəsələr üçün və ya oblastların sayının \(2^n\) ilə məhdudlaşdırılmaması lazım olduqda namizəddir. METIS-dən istifadə etmək üçün yığım zamanı METIS kitabxanası aktiv olmalıdır. Asılılıqların emalı üçün Tələb olunan və ixtiyari asılılıqlar bölməsinə baxın.
Üst-üstə düşmə dərinliyi¶
Üst-üstə düşmə dərinliyi qonşu altoblastların təkrarlı saxladığı diapazondakı qatların sayıdır. Düyün əsaslı bölünmə üçün !PARTITION DEPTH parametrində 1 və ya daha böyük tam ədəd göstərməyə imkan verir. Susmaya görə üst-üstə düşmə dərinliyi 1-dir.
Adi paralel analiz üçün DEPTH=1 kifayətdir. Lakin kontakt məsələsi və ya MPC məhdudiyyətli məsələdə SAINV kimi SAI ailəsinə aid önşərtləndiricidən istifadə edilirsə, üst-üstə düşmə dərinliyini 2 və ya daha böyük etmək önşərtləndiricinin keyfiyyətini yaxşılaşdıra bilər.
MPI paralel hesablamasında birinci tərtibli tetraedrik 341 elementi ilə seçici kənar/düyün hamarlama formulyasiyası (FORM341=SELECTIVE_ESNS) istifadə edilərkən də 2 və ya daha böyük üst-üstə düşmə dərinliyi tələb olunur. Kənar əsaslı və düyün əsaslı hamarlama hədəf elementə qonşu elementlər üzrə kəmiyyətləri ortalaşdırdığından altoblast daxilində sərtliyin yığılması üçün iki qonşuluq qatı uzaqlıqdakı elementlərin məlumatı tələb olunur; susmaya görə DEPTH=1 ilə oblast sərhədləri yaxınlığında hamarlama kifayət etmir. Element formulyasiyasının təfərrüatları üçün Element kitabxanası bölməsinə baxın.
Üst-üstə düşmə dərinliyinin artırılması qonşu altoblastlarda saxlanılan düyün və elementlərin sayını, bununla da həm yaddaş istifadəsini, həm də rabitə həcmini artırır. Onu yığılmanın yaxşılaşması ilə artan hesablama xərci arasında tarazlıq yaradaraq seçin. Önşərtləndirici seçimi üçün Həlledici və önşərtləndiricilər bölməsinə baxın.
Kontakt nöqtələrinin emalı¶
Kontakt cütləri olan tor bölünərkən !PARTITION daxilində CONTACT parametri kontakt nöqtələrinin oblastlarda yerləşdirilmə siyasətini təyin etməyə imkan verir. Kontakt nöqtələrinin yerləşdirilməsi kontakt axtarışı və kontakt məhdudiyyətləri olan paralel analizlərin sabitliyinə və rabitə həcminə təsir edir.
| Qiymət | Rolu |
|---|---|
DEFAULT | Standart yerləşdirmə siyasətindən istifadə edir. |
SIMPLE | Kontakt nöqtələrinə xüsusi çəkilər vermədən adi bölünməyə yaxın yerləşdirmədən istifadə edir. |
AGGREGATE | Kontakt cütləri ilə əlaqəli düyünləri qruplaşdırmağa meylli şəkildə bölür. |
DISTRIBUTE | Master tərəfdəki kontakt düyünlərinin müəyyən altoblastlarda cəmlənmə ehtimalını azaltmaq üçün bölür. |
Kontakt olmayan torlarda CONTACT parametrinə adətən diqqət yetirmək lazım deyil. Kontakt olan paralel analizdə yığılma və ya yük balanslaşdırması problem yaradırsa, kontakt nöqtələrinin yerləşdirilmə siyasətini nəzərdən keçirin. Giriş sintaksisinin təfərrüatları üçün !PARTITION bölməsinə baxın.
Bundan asılı olmayaraq, paralel kontakt üçün sahiblik sxemini seçmək məqsədilə CONTACT_OWNER parametrindən istifadə edilə bilər. CONTACT "necə bölmək" qaydasını, CONTACT_OWNER isə "bölünmədən sonra hansı tərəfin cavabdeh olduğunu" təyin edir.
| Qiymət | Rolu |
|---|---|
MASTER | Master-sahib sxemi (susmaya görə). Master səthi elementlərin sahibi olan oblastlar üzrə bölünür və slave düyünləri hər master-sahib oblasta təkrarlanır. |
SLAVE | Slave-sahib sxemi. Hər slave düyünü yalnız öz sahib oblastında saxlanılır və bütün master səthi həmin oblasta yerləşdirilir. |
Sonlu sürüşmədə (!CONTACT daxilində INTERACTION=FSLID) slave düyünü master səthində oblast bölünməsi sərhədini keçdikdə MASTER sxemi sərhəddə qonşuluq axtarışını kəsə, kontakt vəziyyətinin və sürtünmə tarixçəsinin itirilməsinə və həllin oblastların sayından asılı olmasına səbəb ola bilər. SLAVE sxemi bu problemdən qaçır. O yalnız TYPE=NODE-BASED olduqda göstərilə bilər; slave düyünlərinin sahibi olan oblastlarda yaddaş istifadəsi artır.
Oblast bölünməsi təsvirinin çıxarılması¶
!PARTITION daxilində UCD parametri göstərildikdə bölünmə nəticəsini yoxlamaq üçün UCD faylı çıxarılır. UCD faylı MicroAVS kimi vizuallaşdırma vasitələrində oblast nömrələrini və bölünmə sərhədlərini yoxlamaq üçün istifadə edilə bilər.
Oblastların sayı, bölünmə üsulu və ya üst-üstə düşmə dərinliyi dəyişdirildikdən sonra bölünmüş oblastlar arasında balanssızlığı və ya qeyri-təbii parçalanmanı yoxlamaq vacibdir. UCD çıxışı paralel analizi işə salmazdan əvvəl bölünmənin düzgünlüyünü yoxlamaq üçün köməkçi funksiyadır.
Əlaqəli mövzular¶
- Paralel analiz —
hecmw_part1icra proseduru, giriş faylları və paylanmış tor məlumatı çıxışının yoxlanması. - Həlledici və önşərtləndiricilər — Paralel həlledicilər, önşərtləndiricilər və SAINV ilə üst-üstə düşmə dərinliyi arasındakı əlaqə.
- Xəta mesajlarının siyahısı —
hecmw_part1vəfistr1üçün tipik xəta mesajları. - Paralel sonlu elementlər üsulu — Oblastların bölünməsi və paralel sonlu elementlər üsullarının nəzəri əsasları.
- !PARTITION — Oblast bölünməsi utilitinin idarəetmə məlumatları üçün giriş sintaksisi.