Skip to content

Аймақтарға бөлу

Ірі торды бірнеше процесс арқылы параллель талдағанда бір аймақтың торын ішкі аймақтарға бөліп, әр процесс жауап беретін аймақты және аймақтар арасындағы байланысқа қажет ақпаратты алдын ала жасау қажет. Бұл алдын ала өңдеу аймақтарға бөлу деп аталады.

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 арқылы көрсетіледі.

Түйінге негізделген бөлу ұғымы

10.1-сурет Түйінге негізделген бөлу ұғымы

Әр ішкі аймақ ішкі түйіндерді, ішкі түйіндері бар элементтерді және сол элементтерді құрайтын түйіндерді сақтайды.

Түйінге негізделген бөлуде әр ішкі аймақ сақтайтын түйіндер мен элементтер

10.2-сурет Түйінге негізделген бөлуде әр ішкі аймақ сақтайтын түйіндер мен элементтер

Түйінге негізделген бөлудің байланыс кестесінде төмендегі ақпарат болады.

  • Импорт түйіндері: ішкі аймақта пайдаланылатын түйіндердің басқа ішкі аймаққа тиесілілері.
  • Экспорт түйіндері: басқа ішкі аймақтардың импорт түйіндері болып табылатын ішкі түйіндер.
  • Ортақ элементтер: басқа ішкі аймақтармен ортақ элементтер.

Түйінге негізделген бөлудің импорт түйіндері

10.3-сурет Түйінге негізделген бөлудің импорт түйіндері

Түйінге негізделген бөлудің экспорт түйіндері

10.4-сурет Түйінге негізделген бөлудің экспорт түйіндері

Түйінге негізделген бөлудің ортақ элементтері

10.5-сурет Түйінге негізделген бөлудің ортақ элементтері

Элементке негізделген бөлу

Элементке негізделген бөлуде барлық элемент үшін бір ғана меншікті ішкі аймақ анықталады. Көршілес ішкі аймақтарда түйіндер қабаттасу ретінде сақталады. Енгізуде !PARTITION, TYPE=ELEMENT-BASED арқылы көрсетіледі.

Элементке негізделген бөлу ұғымы

10.6-сурет Элементке негізделген бөлу ұғымы

Әр ішкі аймақ ішкі элементтерді, ішкі элементтерді құрайтын түйіндерді және сол түйіндері бар элементтерді сақтайды.

Элементке негізделген бөлуде әр ішкі аймақ сақтайтын түйіндер мен элементтер

10.7-сурет Элементке негізделген бөлуде әр ішкі аймақ сақтайтын түйіндер мен элементтер

Элементке негізделген бөлудің байланыс кестесінде төмендегі ақпарат болады.

  • Импорт элементтері: ішкі аймақта пайдаланылатын элементтердің басқа ішкі аймаққа тиесілілері.
  • Экспорт элементтері: басқа ішкі аймақтардың импорт элементтері болып табылатын ішкі элементтер.
  • Ортақ түйіндер: басқа ішкі аймақтармен ортақ түйіндер.

Элементке негізделген бөлудің импорт элементтері

10.8-сурет Элементке негізделген бөлудің импорт элементтері

Элементке негізделген бөлудің экспорт элементтері

10.9-сурет Элементке негізделген бөлудің экспорт элементтері

Элементке негізделген бөлудің ортақ түйіндері

10.10-сурет Элементке негізделген бөлудің ортақ түйіндері

Бөлу түріне қарамастан байланыс кестесін hecmw_part1 автоматты түрде жасап, үлестірілген тор деректеріне жазады. Сондықтан қалыпты талдауда пайдаланушы импорт/экспорт ақпаратын өзі жасаудың қажеті жоқ.

Бөлу әдісі

Бөлу әдісі ішкі аймақтардың шекаралары қалай анықталатынын білдіреді. FrontISTR-де координат мәндеріне негізделген RCB және графты бөлуге негізделген METIS қолдануға болады.

Бөлу әдісі Сипаттамасы Негізгі шектеулер мен ескертпелер
RCB Координат мәндерінің үлкен-кішілігіне қарай рекурсивті түрде екіге бөледі. Қарапайым пішіндерді жылдам бөлуге болады. Аймақтар саны \(2^n\) мәндерімен шектеледі. Бөлу осін көрсету қажет.
pMETIS Графты бөлуге негізделіп, аймақтар арасындағы байланыстарды ескеріп бөледі. METIS қосылған құрастыруда қолжетімді.
kMETIS Көп аймақты графтық бөлуге негізделіп, күрделі пішіндерде де аймақ шекараларын құруға ыңғайлы. METIS қосылған құрастыруда қолжетімді.

RCB — Recursive Coordinate Bisection қысқартуы; ол координата осі бойымен торды екіге бөлу процесін қайталайды. Аймақтар санын \(2^n\) етуге болатын жағдайда қолайлы және тікбұрышты параллелепипед тәрізді қарапайым пішіндерде қолдануға ыңғайлы.

METIS тордың байланыстылық қатынасын граф ретінде қарастырып, графты бөлу арқылы ішкі аймақтар жасайды. Пішін күрделі болғанда немесе аймақтар санын \(2^n\) мәндерімен шектегіңіз келмесе қолайлы нұсқа. METIS пайдалану үшін құрастыру кезінде 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 файлын шығаруға болады. UCD файлы MicroAVS сияқты визуалдау құралдарында аймақ нөмірлері мен бөлу шекараларын тексеруге пайдаланылады.

Аймақтар санын, бөлу әдісін немесе қабаттасу тереңдігін өзгерткеннен кейін бөлінген аймақтардың теңгерімсіздігі не табиғи емес ұсақталуы бар-жоғын тексеру маңызды. UCD шығысы параллель талдауды орындамас бұрын бөлудің дұрыстығын тексеруге көмектеседі.

Қатысты бөлімдер

AI-assisted translation May contain errors Official docs Status