میش تقسیم¶
بڑے میش کو کئی اعمال میں متوازی تجزیہ کرنے کے لیے ایک ڈومین میش کو ذیلی حلقے میں تقسیم کرنا اور ہر عمل کے زیرِ انتظام حصے اور بین ڈومین مواصلات کی معلومات پہلے سے بنانا ضروری ہے۔ اس ابتدائی عمل کو میش تقسیم کہتے ہیں۔
FrontISTR کے متوازی حساب میں hecmw_part1 ایک ڈومین میش کو ذیلی حلقے میں تقسیم کر کے تقسیم شدہ میش ڈیٹا بناتا ہے۔ متوازی fistr1 یہ ڈیٹا پڑھ کر مواصلات معلومات سمیت متوازی حل کنندہ میں استعمال کرتا ہے۔
یہ صفحہ تقسیم قسم، تقسیم طریقہ، اوورلیپ کی گہرائی اور تماسی نقاط کے برتاؤ کی وضاحت کرتا ہے۔ hecmw_part1 کے نفاذ طریقۂ کار، کنٹرول-فائل نحوی ساخت اور خطا پیغامات کے لیے متعلقہ ابواب دیکھیں۔
افعال کا مجموعی خاکہ¶
میش تقسیم ایک واحد ڈومین کی میش کو متعدد ذیلی حلقے میں تقسیم کرنے کا عمل ہے۔ FrontISTR میں تقسیم قسم، تقسیم طریقہ، حلقے کی تعداد اور اوورلیپ کی گہرائی کو ملا کر تقسیم شدہ میش ڈیٹا تیار کیا جاتا ہے۔
| انتخابی محور | اہم اختیارات | کردار |
|---|---|---|
| تقسیم قسم | نوڈ-مبنی، عنصر-مبنی | ملکیت کا بنیادی اکائی نوڈ ہو یا عنصر۔ |
| تقسیم طریقہ | RCB، METIS (pMETIS / kMETIS) | ڈومین حدود بنانے کا طریقہ۔ |
| حلقے کی تعداد | کوئی مثبت صحیح عدد (RCB میں \(2^n\)) | ذیلی حلقے کی تعداد؛ عموماً MPI عمل تعداد کے برابر۔ |
| اوورلیپ کی گہرائی | 1 یا زیادہ صحیح عدد | ملحقہ حلقے کے مشترکہ ڈیٹا کی گہرائی؛ نوڈ-مبنی میں متعین ہوتی ہے۔ |
| مواصلات جدول | درآمد/برآمد/اشتراک کی معلومات | ہمسایہ ذیلی حلقے کے ڈیٹا تبادلہ کی معلومات؛ تقسیم کاری کے وقت خود بنتی ہیں۔ |
مواصلات جدولیں تقسیم شدہ میش ڈیٹا میں شامل ہوتی ہیں، اس لیے عام تجزیہ میں صارف کو انہیں براہِ راست ترمیم نہیں کرنا پڑتی۔ متوازی fistr1 تقسیم شدہ میش پڑھ کر MUMPS جیسے متوازی براہِ راست حل کنندہ یا تکراری حل کنندہ سے خطی مساوات حل کرتا ہے۔
تقسیم کاری کا انتخاب¶
معیاری ساختی یا حرارت ترسیل تجزیہ میں پہلے نوڈ پر مبنی تقسیم آزمائیں۔ یہ نوڈی-قدر مواصلات کے لیے موزوں ہے اور اوورلیپ کی گہرائی بھی مقرر کی جا سکتی ہے۔ عنصر پر مبنی تقسیم جوڑی شدہ تجزیہ وغیرہ میں مناسب ہو سکتی ہے جہاں تقسیم شدہ معلومات عنصر-مرکز ہو۔
سادہ ہندسہ اور \(2^n\) حلقے کی صورت میں RCB آسان اور مستحکم انتخاب ہے۔ پیچیدہ ہندسہ یا من مانی ڈومین تعداد کے لیے گراف پر مبنی METIS مناسب امیدوار ہے۔
| مسئلے کی خصوصیت | تجویز |
|---|---|
| معیاری متوازی ساختی/حرارت تجزیہ | نوڈ پر مبنی تقسیم |
| جوڑی شدہ تجزیہ وغیرہ میں عنصر-مرکز معلومات | عنصر پر مبنی تقسیم |
| سادہ تقریباً مستطیل نما ہندسہ، ڈومین تعداد \(2^n\) | RCB |
| پیچیدہ ہندسہ یا من مانی ڈومین تعداد | METIS |
| SAINV پیش شرط کار کے ساتھ تماس/MPC | نوڈ-مبنی، اوورلیپ کی گہرائی 2 یا زیادہ |
ڈومین تعداد عموماً MPI عمل تعداد کے برابر رکھیں۔ متوازی نفاذ کے لیے متوازی عمل کاری تجزیہ اور SAINV/اوورلیپ تعلق کے لیے حل کنندہ اور پیش شرط کار دیکھیں۔
تقسیم کی اقسام¶
تقسیم قسم طے کرتا ہے کہ میش کے کس اکائی کو واحد مالک ذیلی ڈومین دیا جائے۔ نوڈ-مبنی میں نوڈ ملکیت اور عنصر-مبنی میں عنصر ملکیت طے ہوتی ہے۔ دونوں صورتوں میں ہمسایہ ڈومین کے حساب کے لیے ضروری معلومات اوورلیپ کے طور پر رکھی جاتی ہے۔
نوڈ پر مبنی تقسیم¶
ہر نوڈ کا ایک مالک ذیلی ڈومین ہوتا ہے۔ ہمسایہ ذیلی حلقے میں عناصر اوورلیپ کے طور پر رکھے جاتے ہیں۔ ان پٹ میں !PARTITION, TYPE=NODE-BASED استعمال کریں۔

ہر ذیلی ڈومین اندرونی نوڈز، ان نوڈز والے عناصر اور ان عناصر کے تمام نوڈز رکھتا ہے۔

مواصلات جدول میں:
- درآمدی نوڈز: مقامی طور پر استعمال ہونے والے مگر دوسرے ذیلی ڈومین کے ملکیتی نوڈز۔
- برآمدی نوڈز: اندرونی نوڈز جو دوسرے ذیلی ڈومین میں درآمد ہوتے ہیں۔
- مشترکہ عناصر: دوسرے ذیلی حلقے کے ساتھ مشترک عناصر۔



عنصر پر مبنی تقسیم¶
ہر عنصر کا ایک مالک ذیلی ڈومین ہوتا ہے، اور ہمسایہ ذیلی حلقے میں نوڈز اوورلیپ کے طور پر رکھے جاتے ہیں۔ ان پٹ میں !PARTITION, TYPE=ELEMENT-BASED استعمال کریں۔

ہر ذیلی ڈومین اندرونی عناصر، ان کے نوڈز اور ان نوڈز کو شامل کرنے والے عناصر رکھتا ہے۔

مواصلات جدول میں:
- درآمدی عناصر: مقامی طور پر استعمال ہونے والے مگر دوسرے ذیلی ڈومین کے ملکیتی عناصر۔
- برآمدی عناصر: اندرونی عناصر جو دوسرے ذیلی ڈومین میں درآمد ہوتے ہیں۔
- مشترکہ نوڈز: دوسرے ذیلی حلقے کے ساتھ مشترک نوڈز۔



دونوں اقسام میں مواصلات جدولیں hecmw_part1 خود بناتا اور تقسیم شدہ میش میں لکھتا ہے؛ صارف کو درآمد/برآمد کی معلومات ہاتھ سے بنانے کی ضرورت نہیں۔
تقسیم کے طریقے¶
FrontISTR مختصات-مبنی RCB اور گراف پر مبنی METIS استعمال کر سکتا ہے۔
| طریقہ | خصوصیت | اہم پابندیاں |
|---|---|---|
| RCB | مختصات کے مطابق تکراری دو حصوں میں تقسیم؛ سادہ ہندسہ میں تیز۔ | ڈومین تعداد صرف \(2^n\)؛ تقسیم محور کی تعیین درکار۔ |
| pMETIS | گراف تقسیم کاری، اتصال کو مدِنظر رکھتا ہے۔ | METIS فعال تعمیر درکار۔ |
| kMETIS | کثیر-ڈومین گراف تقسیم کاری، پیچیدہ ہندسہ میں موزوں۔ | METIS فعال تعمیر درکار۔ |
RCB کا مطلب تکراری مختصات دو حصوں میں تقسیم ہے۔ یہ مختصات کے محوروں کے ساتھ میش کو بار بار دو حصوں میں تقسیم کرتا ہے، اس لیے \(2^n\) حلقے اور سادہ ہندسہ میں موزوں ہے۔
METIS میش اتصال کو گراف کے طور پر تقسیم کرتا ہے۔ پیچیدہ ہندسہ یا \(2^n\) کے علاوہ ڈومینوں کی تعداد میں مفید ہے۔ اس کے لیے تعمیر میں METIS لائبریری فعال ہونا چاہیے؛ انحصارات دیکھیں۔
اوورلیپ کی گہرائی¶
اوورلیپ کی گہرائی ملحقہ ذیلی حلقے کے مشترکہ طور پر رکھے گئے تہیں کی تعداد ہے۔ نوڈ پر مبنی تقسیم میں !PARTITION کا DEPTH 1 یا زیادہ صحیح عدد لیتا ہے؛ طے شدہ 1 ہے۔
عام متوازی تجزیہ کے لیے DEPTH=1 کافی ہوتا ہے۔ SAINV وغیرہ SAI پیش شرط کار کو تماس یا MPC مسائل میں استعمال کرنے پر گہرائی 2 یا زیادہ تقارب بہتر کر سکتی ہے۔
اول مرتبہ چہارسطحی عنصر 341 کے انتخابی کنارۂ/نوڈ ہمواری (FORM341=SELECTIVE_ESNS) کو MPI متوازی میں استعمال کرنے پر بھی اوورلیپ کی گہرائی 2 یا زیادہ درکار ہے۔ ہمواری میں ہمسایہ عناصر کی مقداروں کا اوسط لینے کے لیے ”پڑوسی کے پڑوسی“ عناصر کی معلومات درکار ہوتی ہے؛ DEPTH=1 ڈومین حد کے نزدیک ناکافی ہو سکتا ہے۔ تفصیل عنصر لائبریری میں ہے۔
گہرائی بڑھانے سے نقل شدہ نوڈز/عناصر بڑھتے ہیں، لہٰذا حافظہ استعمال اور مواصلات بھی بڑھتے ہیں۔ تقارب بہتری کو لاگت کے مقابل دیکھیں۔ پیش شرط کار انتخاب کے لیے حل کنندہ اور پیش شرط کار دیکھیں۔
تماسی نقاط کا برتاؤ¶
تماس جوڑے والے میش میں !PARTITION کا CONTACT پیرامیٹر تماس-نقطہ تقسیمِ کار پالیسی طے کرتا ہے۔ یہ متوازی تماس تلاش، استحکام اور مواصلات حجم پر اثر ڈال سکتا ہے۔
| قدر | مفہوم |
|---|---|
DEFAULT | معیاری تقسیمِ کار پالیسی۔ |
SIMPLE | تماس نقاط کو خاص وزن دیے بغیر عمودی تقسیم کاری۔ |
AGGREGATE | تماس-جوڑا نوڈز کو اکٹھا رکھنے کی سمت میں تقسیم کاری۔ |
DISTRIBUTE | ماسٹر جانب کے نوڈز کو ذیلی حلقے میں زیادہ یکساں تقسیم کرنے کی سمت۔ |
تماس نہ ہو تو CONTACT کو عموماً نظر انداز کیا جا سکتا ہے۔ تماس متوازی تجزیہ میں تقارب یا بوجھ کا توازن خراب ہو تو تقسیمِ کار پالیسی دیکھیں۔ نحوی ساخت کے لیے !PARTITION دیکھیں۔
اس سے آزاد CONTACT_OWNER متوازی تماس ملکیت منتخب کرتا ہے۔ CONTACT بتاتا ہے "کیسے تقسیم کرنا ہے" جبکہ CONTACT_OWNER بتاتا ہے "تقسیم کے بعد ذمہ داری کس جانب کی ہے"۔
| قدر | مفہوم |
|---|---|
MASTER | ماسٹر ملکیت (طے شدہ)؛ ماسٹر سطحیں عنصر کے مالک ڈومین کے مطابق تقسیم ہوتی ہیں اور سلیو نوڈز متعلقہ ماسٹر-مالک ڈومین میں نقل کیے جاتے ہیں۔ |
SLAVE | سلیو ملکیت؛ سلیو نوڈ صرف اپنے مالک ڈومین میں رہتا ہے اور اس ڈومین میں مکمل ماسٹر سطح رکھی جاتی ہے۔ |
محدود پھسلاؤ (!CONTACT کے INTERACTION=FSLID) میں سلیو نوڈ ماسٹر سطح کی تقسیم کی حد پار کرے تو MASTER ملکیت میں ہمسایہ تلاش حد پر منقطع ہو سکتی ہے اور تماس کی حالت/رگڑ کی تاریخ ضائع ہو کر حل ڈومین تعداد پر منحصر بن سکتا ہے۔ SLAVE اس مسئلے سے بچاتا ہے۔ صرف TYPE=NODE-BASED کے ساتھ قابلِ استعمال ہے اور سلیو-مالک ڈومین کے حافظے کا استعمال بڑھتی ہے۔
میش تقسیم کی بصری کاری کا اخراج¶
!PARTITION کا UCD پیرامیٹر تقسیم نتیجہ کا UCD فائل اخراج کرتا ہے۔ اسے MicroAVS وغیرہ میں ڈومین نمبروں اور حدود دیکھنے کے لیے استعمال کیا جا سکتا ہے۔
ڈومین تعداد، طریقہ یا اوورلیپ کی گہرائی بدلنے کے بعد غیر متوازن تقسیم یا غیر فطری باریک تقسیم چیک کرنا مفید ہے۔ UCD اخراج متوازی چلائیں سے پہلے تقسیم درستی جانچنے کا ذریعہ ہے۔
متعلقہ موضوعات¶
- متوازی عمل کاری تجزیہ —
hecmw_part1کا نفاذ، ان پٹ اور تقسیم شدہ میش کا اخراج۔ - حل کنندہ اور پیش شرط کار — متوازی حل کنندگان، SAINV اور اوورلیپ کی گہرائی۔
- خطا پیغامات —
hecmw_part1اورfistr1کے اہم خطائیں۔ - متوازی محدود عنصر طریقہ — نظریاتی پس منظر۔
- !PARTITION — تقسیم-کنٹرول نحوی ساخت۔