Skip to content

Шешуші және алдын ала шарттау

FrontISTR сызықтық шешушілері тікелей немесе итерациялық әдісті таңдауға мүмкіндік береді; итерациялық әдістер сызықтық теңдеулерді шешу үшін алдын ала шарттаумен бірге қолданылады. MPC өңдеу тәсілі мен жанасу еркіндік дәрежелерін жою — көпнүктелі немесе жанасу шектеулері бар сызықтық жүйені қандай түрде өңдеу керектігін анықтайтын қосымша таңдаулар.

Функциялардың жалпы көрінісі

Шешуші мен алдын ала шарттау параметрлері келесі таңдаулардан тұрады. Алдымен сызықтық шешуші ретінде итерациялық немесе тікелей әдіс таңдалады. Алдын ала шарттау тек итерациялық әдіс таңдалғанда қолданылады.

Санат Негізгі таңдаулар Рөлі
Итерациялық әдістер CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN Үлкен сирек матрицаларды жадты салыстырмалы тиімді пайдаланып шешеді.
Итерациялық әдістерге арналған алдын ала шарттау SSOR, диагональдық масштабтау, BILU, AMG, SAINV, RIF Итерациялық әдістердің жинақталуын жақсартады. Тікелей әдістерде қолданылмайды.
Тікелей әдістер MUMPS, MKL Матрицаны жіктеу арқылы сызықтық теңдеулерді орнықты шешеді.
MPC өңдеу тәсілдері Айыппұл әдісі, еркіндік дәрежелерін айқын жою Көпнүктелі шектеулерді сызықтық жүйеге енгізеді.
Жанасу еркіндік дәрежелерін жою Автоматты, әрқашан қосулы SLAGRANGE жанасуы қосатын жанасу еркіндік дәрежелерінің өңделуін басқарады.
Қосымша функциялар Шарттылық санын бағалау, матрицаны дамптау, журналға жазу Жөндеуге, жинақталуды тексеруге және өнімділікті бағалауға көмектеседі.

Параллель орындауда облыстарға бөлуге негізделген MPI параллельдігін OpenMP ағындық параллельдігімен біріктіруге болады. Итерациялық әдістер үлкен масштабты параллель талдау үшін стандартты таңдау болып табылады, ал тікелей әдістер қажетті кітапханалар байланыстырылған ортада анағұрлым орнықты шешім керек болғанда қолданылады.

Шешуші мен алдын ала шарттауды таңдау

Алдымен итерациялық немесе тікелей әдістің қайсысын қолданатыныңызды анықтаңыз. Итерациялық әдіс таңдалса, содан кейін алдын ала шарттауды таңдаңыз.

Шешім факторы Ұсынылатын тәсіл
Есеп өлшемі Кіші және орта есептерде тікелей әдістер тұрақты әрі қолдануға жеңіл. Үлкен есептерде итерациялық әдістер жадты тиімдірек пайдаланады.
Матрица симметриясы Симметриялы оң анықталған есептер үшін CG қарастырыңыз. Симметриясыз есептер үшін BiCGSTAB, GMRES, GPBiCG және ұқсас әдістерді қарастырыңыз.
Параллель орта MPI параллельдігінде итерациялық әдісті облыстарға бөлумен біріктіріңіз. OpenMP параллельдігіндегі алдын ала шарттау үшін көптүсті SSOR нұсқасын қарастырыңыз.
Алдын ала шарттау (итерациялық әдіс қолданылғанда) Алдымен әдепкі SSOR-ды қолданып көріңіз, кейін AMG-ні қарастырыңыз. Жинақталу жақсы болса, есептеу жағынан жеңіл SSOR тиімді; күрделі ірі есептер үшін AMG алдын ала шарттауы қолайлы. AMG Trilinos-ML іске асыруы немесе HEC-MW құрамындағы SA-AMG ретінде қолжетімді; құрастыру конфигурациясына қарай таңдаңыз.
Жанасу және MPC Жанасу немесе көпнүктелі шектеулер бар талдауларда MPC өңдеу тәсілі мен жанасу еркіндік дәрежелерін жоюды таңдау жинақталу мен орнықтылыққа әсер етеді.
Сыртқы кітапханалар MUMPS, MKL және AMG (Trilinos-ML) тиісті кітапханалар байланыстырылған құрастыруларда қолжетімді. AMG (SA-AMG) LAPACK қосылған құрастыруларда қолжетімді.

Стандартты талдауларда жинақталу шегі, ең көп итерация саны және алдын ала шарттаудың диагональдық түзету коэффициенті үшін әдепкі мәндер әдетте жеткілікті. Тек жинақталу баяу болғанда немесе шешім шашырағанда итерациялық әдісті, алдын ала шарттауды, MPC өңдеу тәсілін және жанасу еркіндік дәрежелерін жоюды осы ретпен қайта қарастырыңыз. Параметр мәндері мен синтаксисі үшін !SOLVER кілтсөз анықтамалығын қараңыз.

Итерациялық әдістер

Итерациялық әдістер үлкен сирек жүйелерді матрица-вектор көбейтінділері мен алдын ала шарттауды қайталап орындау арқылы шешімді жаңартып шешеді. FrontISTR келесі итерациялық әдістерді ұсынады.

Итерациялық әдіс Әдеттегі қолданылуы Ескертпе
CG Симметриялы оң анықталған есептер Құрылымдық және жылу өткізгіштік талдауларындағы стандартты үміткер.
BiCGSTAB Симметриясыз есептер Жанасу немесе байланыс әсерлері күшті симметриясыздық туғызғанда қолданылатын үміткер.
GMRES Симметриясыз есептер Krylov ішкі кеңістігінің өлшемі көрсетіліп қолданылады.
GPBiCG Симметриясыз есептер BiCGSTAB тобының жетілдірілген әдісі ретінде қолданылады.
GMRESR Симметриясыз есептер, күрделі қолданулар GMRES-ті кірістірілген түрде қолданатын нұсқа.
GMRESREN Симметриясыз есептер, күрделі қолданулар GMRESR тобының рекурсивті нұсқасы.

CG матрицаның симметриялы оң анықталған болуын талап етеді. Үйкелісті жанасу, симметриясыз шектеулерді өңдеу, байланысқан әсерлер немесе ұқсас факторлар күшті симметриясыздық енгізсе, BiCGSTAB, GMRES, GPBiCG немесе басқа симметриясыз шешушіні қарастырыңыз. GMRES үшін Krylov ішкі кеңістігінің өлшемін ұлғайту жинақталуды жақсартуы мүмкін, бірақ жад шығынын да арттырады.

METHOD2 көрсетілсе, CG шашырағанда немесе бұзылғанда FrontISTR балама итерациялық әдіске ауыса алады. Бұл функция CG негізгі шешуші болатын жағдайларға арналған резервтік жол; балама әдіс негізгі шешушімен бірдей қалған параметрлер мен дерек жолдарын қолданады.

CG, BiCGSTAB, GPBiCG және PipeCG қалдық векторын рекурренттік формула бойынша жаңартады, сондықтан итерациялар көбейген сайын дөңгелектеу қателері жиналып, есептелген қалдық нақты қалдықтан ауытқуы мүмкін. Мұны болдырмау үшін белгілі бір итерациялар санынан кейін қалдық векторы оң жақ бөлік пен матрица-вектор көбейтіндісінен қайта есептеледі. Бұл аралықты RECOMPUTE_RESIDUAL арқылы көрсетуге болады. Аралықты ұзартқанда матрица-вектор көбейтінділерінің саны азаяды, бірақ рекурренттік формуламен алынған қалдықтың нақты қалдықтан алыстау және жинақталмаған шешімді жинақталды деп бағалау қаупі артады. Керісінше, аралықты тым қысқарту матрица-вектор көбейтінділерін көбейтіп қана қоймай, рекурренттік формула сақтайтын қалдық пен көмекші векторлар арасындағы байланысты бұзып, жинақталудың өзін нашарлатуы мүмкін. Әр әдістің әдепкі мәні осы әсерлер арасындағы теңгерімді ескеріп таңдалған; оны өзгертсеңіз, жинақталу тарихы мен соңғы салыстырмалы қалдықты тексеріңіз.

Алдын ала шарттау

Алдын ала шарттау — итерациялық әдістің жинақталуын жақсарту үшін коэффициенттер матрицасын түрлендіру үдерісі және ол тек итерациялық әдіс таңдалғанда қолданылады. Тікелей әдістер алдын ала шарттауды қолданбайды. Бір итерациялық әдістің өзінде алдын ала шарттауды таңдау жинақталуға қажет итерациялар саны мен есептеу уақытын едәуір өзгерте алады.

Алдын ала шарттау Сипаттамасы Әдеттегі қолданылуы
SSOR Стандартты алдын ала шарттау; көптүсті реттеуді қолдайды. Алдымен қолданылатын үміткер; құрылымдық талдауда кең қолданылады.
Диагональдық масштабтау Диагональ элементтерін пайдаланатын жеңіл алдын ала шарттау. Есептеу шығынын азайту керек болғанда.
BILU Блоктық толық емес LU жіктеуі. SSOR-мен жинақталуы қиын есептер үшін үміткер.
AMG (Trilinos-ML) Сыртқы Trilinos-ML кітапханасын пайдаланатын алгебралық көпторлы әдіс. Ірі немесе иерархиялық қате құраушылары басым есептер үшін үміткер.
AMG (SA-AMG) HEC-MW құрамына енгізілген Smoothed Aggregation түріндегі алгебралық көпторлы әдіс. Жоғарыдағыдай есептер үшін; қосымша сыртқы кітапханасыз AMG қолдануға арналған үміткер.
SAINV Sparse Approximate Inverse. Жанасу есептері немесе үлестірілген жад орталарына арналған мамандандырылған алдын ала шарттау нұсқасы.
RIF Robust Incomplete Factorization. Толық емес жіктеудің тағы бір нұсқасы.

SSOR — стандартты таңдау, ал OpenMP параллельдігінде көптүсті реттеу нұсқасы қолданылады. Диагональдық масштабтау жеңіл, бірақ жинақталуды жақсарту әсері есепке тәуелді. BILU блоктық толық емес LU жіктеуі ретінде іске асырылған және еркіндік дәрежелерінің жалпы саны бар матрицаларды да қолдайды. BILU тобында итерациялық әдіс шашырағанда диагональдық түзету коэффициенті SIGMA_DIAG автоматты түрде ұлғайтылып, қайта әрекет жасалатын жол бар; мәнді көрсету жолын кілтсөз анықтамалығынан қараңыз.

AMG-нің (алгебралық көпторлы әдістің) екі іске асырылуы бар: сыртқы Trilinos-ML кітапханасын пайдаланатын нұсқа және HEC-MW құрамындағы SA-AMG. Бұлар талап етілетін құрастыру конфигурациялары мен қолжетімді параметрлері әртүрлі тәуелсіз іске асырулар.

Trilinos-ML негізіндегі AMG үшін құрастыру кезінде ML қосулы болуы керек. Тегістегішті, көпторлы циклді, ірілендіру сұлбасын және басқа параметрлерді көрсетуге болады; нақты мәндер үшін кілтсөз анықтамалығын қараңыз.

SA-AMG — Smoothed Aggregation түріндегі алгебралық көпторлы алдын ала шарттау және ол Trilinos-ML кітапханасын қажет етпейді. Алайда ішкі есептеулерде LAPACK пайдаланылады, сондықтан LAPACK қосылған құрастыру қажет; LAPACK жоқ құрастыруда таңдалса, бағдарлама талдауды бастамай тоқтайды. Ірі торды шешу үшін MUMPS қосылған құрастыруларда MUMPS пайдалануға болады; әйтпесе кірістірілген тығыз матрицалық тікелей әдіс қолданылады.

SA-AMG негізінен симметриялы оң анықталған жүйелерге (CG) арналған, бірақ үйкелісті жанасудан туындайтын симметриясыз қысқартылған жүйелерді де қолдайды (BiCGSTAB, GMRES және басқалары). Бір түйінге 1 (жылу өткізгіштік), 2 (жазық), 3 (көлемдік) және 6 (қабық) еркіндік дәрежесін қолдайды, бірақ еркіндік дәрежелерінің саны түйіндер арасында өзгеретін матрицаларды қолдамайды. Ірі тор шешушісін, көпторлы циклді, тегістегіш дәрежесін және басқа параметрлерді көрсетуге болады, бірақ стандартты талдауларда әдепкі мәндерді пайдалануға болады. Мәндер мен синтаксис үшін кілтсөз анықтамалығын қараңыз. GPU (OpenACC) қосылған құрастыруларда алдын ала шарттауды қолдану кезеңі GPU-да орындалады.

SAINV жанасу немесе MPC шектеулері бар параллель талдауда қолданылғанда, облыстарға бөлудегі қабаттасу тереңдігі жинақталуға әсер етуі мүмкін.

Тікелей әдістер

Тікелей әдістер коэффициенттер матрицасын жіктеу арқылы сызықтық теңдеулерді шешеді. Итерация санына тәуелді болмағандықтан, олар орнықты және жанасу немесе шектеу шарттары бар талдаулар үшін тұрақты таңдау бола алады. Алайда есеп өлшемі артқан сайын жад шығыны өседі.

Тікелей әдіс Параллель орта Қолданылуы
MUMPS MPI параллельдігі Үлестірілген жад ортасында сирек матрицаларды тікелей әдіспен шешеді.
MKL Intel MKL / OpenMP Intel MKL негізіндегі тікелей шешуші. Ішкі жағынан Intel PARDISO қолданылады. Бірнеше MPI процесінде Cluster MKL жолы қолданылады. DIRECTmklMKL үшін бүркеншік атау.

Тікелей әдістер симметриялы және симметриясыз матрицалардың екеуінде де қолданылады. MUMPS пен MKL үшін құрастыру кезінде тиісті кітапханалар байланыстырылуы қажет. Бұл кітапханалар жоқ ортада оларды пайдалану мүмкін емес, сондықтан қажетті тәуелділіктер мен CMake параметрлері үшін құрастыру нұсқаулығын қараңыз.

FrontISTR құрамында сыртқы кітапхана қолданбайтын кірістірілген тікелей шешуші жолы да бар, бірақ кәдімгі талдауда тікелей әдіс қажет болса, әдетте алдымен MUMPS немесе MKL қарастырылғаны жөн.

Тікелей әдістерде алдын ала шарттау қолданылмайды. !SOLVER ішінде алдын ала шарттау көрсетілсе де, ол тікелей шешуші жолында пайдаланылмайды.

MPC өңдеу тәсілдері

MPC өңдеу тәсілі көпнүктелі шектеулер арқылы байланысқан еркіндік дәрежелерінің сызықтық теңдеулерге қалай енгізілетінін анықтайды. Енгізу деректеріндегі шектеу теңдеулері бірдей болса да, өңдеу тәсілі коэффициенттер матрицасының қасиеттері мен жинақталу мінез-құлқын өзгертеді.

MPC өңдеу тәсілі Сипаты Әдепкі қолданылуы
Айыппұл әдісі Шектеу теңдеулеріне үлкен қатаңдық мүшелерін қосып, шектеулерді жуық түрде орындайды. Тікелей әдістер үшін әдепкі.
Еркіндік дәрежелерін айқын жою Шектелген еркіндік дәрежелерін жойып, ықшамдалған сызықтық жүйені шешеді. Итерациялық әдістер үшін әдепкі.

Тікелей әдістер үшін айыппұл әдісі әдепкі, ал итерациялық әдістер үшін еркіндік дәрежелерін айқын жою әдепкі болып табылады. Бұрын таңдауға болатын MPC-CG әдісі жойылды; MPCMETHOD=2 көрсетілсе, ескерту шығарылып, тиісті әдепкі әдіс қолданылады.

Еркіндік дәрежелерін айқын жою әдісінде модальдық талдауда және айқын әдіспен динамикалық талдауда қолданылатын шоғырланған масса да қатаңдық матрицасына қолданылатын түрлендірумен ықшамдалады. Ықшамдалған масса матрицасы жалпы жағдайда диагональ болмайтындықтан, оның жолдарының қосындылары шоғырланған масса ретінде қолданылады. Шектеу теңдеуіндегі коэффициенттердің қосындысы 1 болатын байланыстыру немесе интерполяция шектеулерінде слейв еркіндік дәрежесінің массасы мастер еркіндік дәрежелеріне коэффициенттерге пропорционал бөлінеді.

MPC өңдеу тәсілін !SOLVER ішіндегі MPCMETHOD арқылы анық көрсетуге болады. Әр мәннің мағынасы мен синтаксисін кілтсөз анықтамалығынан қараңыз.

Жанасу еркіндік дәрежелерін жою

Жанасу еркіндік дәрежелерін жою SLAGRANGE жанасуы енгізетін қосымша жанасу еркіндік дәрежелерін сызықтық шешушіге бермес бұрын ықшамдайды. Бұл еркіндік дәрежелерін жою итерациялық әдіс өңдейтін сызықтық жүйенің қасиеттерін жақсартуы мүмкін.

Әдепкі автоматты режимде жанасу еркіндік дәрежелерін жою итерациялық әдістер үшін қосылады да, тікелей әдістер үшін өшіріледі. Тікелей әдістерде жанасу еркіндік дәрежелері бар кеңейтілген жүйені тікелей шешетін жол қарастырылған.

CONTACT_ELIM анық көрсетілсе, тікелей әдіс қолданылғанда да жанасу еркіндік дәрежелерін жоюға болады. Енгізу жағындағы жанасу түрі, жанасу жұбы және жанасу алгоритмін таңдау үшін Жанасу және ендіру бетіне қараңыз.

Қосымша функциялар

Шешушінің жинақталуы мен өнімділігін зерттеу үшін шарттылық санын бағалау, матрицаны дамптау және журналға жазуды қолдануға болады. Қалыпты талдауда бұл функциялар қажет емес және негізінен жөндеу немесе өнімділікті бағалау үшін қосылады.

Функция Мақсаты Ескертпе
Шарттылық санын бағалау CG және GMRES үшін шарттылық санының көрсеткішін шығарады. LAPACK қосылған құрастыруларда қолжетімді.
Матрицаны дамптау Шешушіге берілетін матрица мен оң жақ бөлікті файлға сақтайды. Matrix Market, CSR және BSR пішімдерін қолдайды.
DUMPEXIT Матрица дампталғаннан кейін талдауды тоқтатады. Сыртқы тексеру үшін тек матрицаны алу қажет болғанда қолданылады.
ITERLOG Итерациялық әдістің жинақталу тарихын шығарады. Қалдықтың өзгерісін тексеру үшін қолданылады.
TIMELOG Шешушінің есептеу уақытын шығарады. VERBOSE егжей-тегжейлі бөліністі шығарады.
STEPLOG Қадам туралы ақпаратты шығарады. Талдау барысын тексеру үшін қолданылады.
LOGLEVEL AMG алдын ала шарттауларының иерархиясын құру сияқты диагностикалық ақпаратты шығарады. ITERLOG және TIMELOG параметрлерінен тәуелсіз көрсетіледі. Мән өскен сайын шығыс көлемі артады.

Матрицаны дамптау талдау кезінде жиналған коэффициенттер матрицасын сыртқы құралдармен тексеруге мүмкіндік береді. DUMPEXIT қосылғанда матрица мен оң жақ бөлік сақталғаннан кейін талдау тоқтайды. Шарттылық санын бағалау CG және GMRES үшін қолжетімді тәжірибелік функция және жинақталуды диагностикалау үшін қолданылады.

Қатысты тақырыптар