Leysir og forskilyrðing¶
Línulegi leysirinn í FrontISTR leysir línulegar jöfnur með því að velja annaðhvort beina aðferð eða ítrunaraðferð; fyrir ítrunaraðferðir er forskilyrðing notuð með leysinum. MPC-meðhöndlun og útrýming snertifrelsisgráða eru viðbótarval sem ákvarða hvernig línulegt kerfi með margpunkta- eða snertihöftum er meðhöndlað.
Yfirlit virkni¶
Stillingar leysis og forskilyrðingar samanstanda af eftirfarandi valkostum. Fyrst er annaðhvort ítrunaraðferð eða bein aðferð valin sem línulegur leysir. Forskilari er aðeins notaður þegar ítrunaraðferð er valin.
| Flokkur | Helstu valkostir | Hlutverk |
|---|---|---|
| Ítrunaraðferðir | CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN | Leysa stór gisinn fylki með tiltölulega hagkvæmri minnisnotkun. |
| Forskilara fyrir ítrunaraðferðir | SSOR, hornalínuskölun, BILU, AMG, SAINV, RIF | Bæta samleitni ítrunaraðferða. Ekki notað með beinum aðferðum. |
| Beinar aðferðir | MUMPS, MKL | Leysa línulegar jöfnur á traustan hátt með fylkjaþáttun. |
| MPC-meðhöndlun | Refsiaðferð, MPC-CG-aðferð, bein útrýming frelsisgráða | Fella margpunkta höft inn í línulega kerfið. |
| Útrýming snertifrelsisgráða | Sjálfvirk, alltaf virk | Stýrir meðhöndlun snertifrelsisgráða sem bætast við með SLAGRANGE-snertingu. |
| Hjálparvirkni | Mat á skilyrðistölu, fylkjaskrá, skráning | Styður villuleit, mat á samleitni og afköstum. |
Í samhliða keyrslu má sameina MPI-samhliða vinnslu með svæðaskiptingu og OpenMP-þráðasamhliða vinnslu. Ítrunaraðferðir eru staðlaður kostur fyrir stórar samhliða greiningar, en beinar aðferðir eru notaðar þegar viðeigandi söfn eru tengd og þörf er á traustari lausn.
Val á leysi og forskilara¶
Fyrst skal ákveða hvort nota eigi ítrunaraðferð eða beina aðferð. Ef ítrunaraðferð er valin skal síðan velja forskilara.
| Matsþáttur | Mælt sjónarmið |
|---|---|
| Stærð verkefnis | Beinar aðferðir eru stöðugar og auðveldar í notkun fyrir lítil og meðalstór verkefni. Ítrunaraðferðir eru minnishagkvæmari fyrir stór verkefni. |
| Samhverfa fylkis | Íhuga skal CG fyrir samhverf jákvætt ákveðin verkefni. Fyrir ósamhverf verkefni koma BiCGSTAB, GMRES, GPBiCG o.fl. til greina. |
| Samhliða umhverfi | Með MPI-samhliða vinnslu skal sameina ítrunaraðferð og svæðaskiptingu. Fyrir forskilyrðingu með OpenMP má íhuga marglita SSOR-útfærslu. |
| Forskilari (þegar ítrunaraðferð er valin) | Prófið fyrst sjálfgefna SSOR og íhugið síðan AMG. SSOR er reiknilega létt þegar samleitni er góð; AMG hentar flóknum stórum verkefnum. |
| Snerting og MPC | Í greiningum með snertingu eða margpunkta höftum hefur val á MPC-meðhöndlun og útrýmingu snertifrelsisgráða áhrif á samleitni og traustleika. |
| Ytri söfn | MUMPS, MKL og AMG eru tiltæk í byggingum sem eru tengdar við samsvarandi söfn. |
Í venjulegum greiningum duga sjálfgefið samleitniviðmið, hámarksfjöldi ítrana og hornalínuleiðréttingarstuðull forskilara almennt. Aðeins þegar samleitni er hæg eða lausnin divergerar skal endurmeta, í þessari röð, ítrunaraðferð, forskilara, MPC-meðhöndlun og útrýmingu snertifrelsisgráða. Um færibreytugildi og snið, sjá lykilorðatilvísun !SOLVER.
Ítrunaraðferðir¶
Ítrunaraðferðir leysa stór gisinn línuleg kerfi með endurteknum fylki-vigur margföldunum og forskilyrðingu og uppfæra lausnina. FrontISTR býður eftirfarandi ítrunaraðferðir.
| Ítrunaraðferð | Dæmigerð notkun | Athugasemdir |
|---|---|---|
CG | Samhverf jákvætt ákveðin verkefni | Staðlaður kostur fyrir byggingar- og varmleiðnigreiningu. |
BiCGSTAB | Ósamhverf verkefni | Kostur þegar snerting eða tengd áhrif valda sterkri ósamhverfu. |
GMRES | Ósamhverf verkefni | Notað með tilgreindri stærð Krylov-undirrýmis. |
GPBiCG | Ósamhverf verkefni | Notað sem endurbætt aðferð í BiCGSTAB-fjölskyldunni. |
GMRESR | Ósamhverf verkefni, sérhæfð notkun | Valkostur sem notar GMRES hreiðrað. |
GMRESREN | Ósamhverf verkefni, sérhæfð notkun | Endurkvæm útgáfa í GMRESR-fjölskyldunni. |
CG gerir ráð fyrir að fylkið sé samhverft og jákvætt ákveðið. Ef núningssnerting, ósamhverf haftameðhöndlun, tengd áhrif eða annað veldur sterkri ósamhverfu skal íhuga BiCGSTAB, GMRES, GPBiCG eða annan ósamhverfan leysi. Í GMRES getur stærra Krylov-undirrými bætt samleitni en eykur einnig minnisnotkun.
Þegar METHOD2 er tilgreint getur FrontISTR skipt yfir í aðra ítrunaraðferð ef CG divergerar eða bilar. Þetta er varaleið þegar CG er aðalleysir; hin aðferðin notar sömu aðrar stillingar og gagnalínur og aðalleysirinn.
Forskilyrðing¶
Forskilyrðing umbreytir stuðlafylkinu til að bæta samleitni ítrunaraðferðar og er aðeins notuð þegar ítrunaraðferð er valin. Beinar aðferðir nota ekki forskilyrðingu. Jafnvel með sömu ítrunaraðferð getur val forskilara haft mikil áhrif á fjölda ítrana og reiknitíma til samleitni.
| Forskilari | Eiginleikar | Dæmigerð notkun |
|---|---|---|
| SSOR | Staðlaður forskilari; styður marglita röðun. | Fyrsti kostur til að prófa; mikið notaður í byggingargreiningu. |
| Hornalínuskölun | Léttur forskilari sem notar hornalínustök. | Þegar lítill reiknikostnaður er mikilvægur. |
| BILU | Ófullkomin LU-þáttun í blokkum. | Kostur fyrir verkefni sem eiga erfitt með samleitni með SSOR. |
| AMG | Algebraísk fjölgrind með Trilinos-ML. | Kostur fyrir stór verkefni eða verkefni þar sem stigskiptir villuþættir ráða. |
| SAINV | Dreifð nálguð andhverfa (Sparse Approximate Inverse). | Sérhæfður forskilari fyrir snertiverkefni eða dreifð minnisumhverfi. |
| RIF | Traust ófullkomin þáttun (Robust Incomplete Factorization). | Annar valkostur fyrir ófullkomna þáttun. |
SSOR er staðlaður kostur og með OpenMP er notuð útgáfa með marglitri röðun. Hornalínuskölun er létt, en áhrif hennar á samleitni ráðast af verkefninu. BILU er útfært sem ófullkomin LU-þáttun í blokkum og styður einnig fylki með almennum fjölda frelsisgráða. Í BILU-fjölskyldunni er leið sem hækkar sjálfkrafa hornalínuleiðréttingarstuðulinn SIGMA_DIAG og reynir aftur þegar ítrunaraðferð divergerar; um tilgreiningu gildisins, sjá lykilorðatilvísunina.
AMG notar Trilinos-ML og því þarf ML að vera virkt við byggingu. Hægt er að tilgreina sléttara, fjölgrindarhringi, grófunaraðferðir o.fl.; um nákvæm gildi, sjá lykilorðatilvísunina. Þegar SAINV er notað í samhliða greiningu með snertingu eða MPC getur skörunardýpt við svæðaskiptingu haft áhrif á samleitni.
Beinar aðferðir¶
Beinar aðferðir leysa línulegar jöfnur með þáttun stuðlafylkisins. Þar sem þær ráðast ekki af fjölda ítrana eru þær traustar og geta verið stöðugur kostur fyrir greiningar með snertingu eða haftaskilyrðum. Minnisnotkun þeirra eykst hins vegar með stærð verkefnis.
| Bein aðferð | Samhliða umhverfi | Notkun |
|---|---|---|
MUMPS | MPI-samhliða | Leysir gisinn fylki með beinni aðferð í dreifðu minnisumhverfi. |
MKL | Intel MKL / OpenMP | Beinn leysir byggður á Intel MKL. Intel PARDISO er notað innra. Með mörgum MPI-ferlum er Cluster MKL-leiðin notuð. DIRECTmkl er samheiti fyrir MKL. |
Beinar aðferðir má nota bæði fyrir samhverf og ósamhverf fylki. MUMPS og MKL krefjast þess að samsvarandi söfn séu tengd við byggingu. Þær eru ekki tiltækar án þessara safna; um nauðsynlegar háðir og CMake-valkosti, sjá byggingarleiðbeiningarnar.
FrontISTR hefur einnig innbyggða beina lausnarleið án ytra safns, en fyrir venjulegar greiningar þar sem bein aðferð er valin skal almennt fyrst íhuga MUMPS eða MKL.
Forskilyrðing er ekki notuð með beinum aðferðum. Jafnvel þótt forskilari sé tilgreindur í !SOLVER er hann ekki notaður í beinu lausnarleiðinni.
MPC-meðhöndlun¶
MPC-meðhöndlun ákvarðar hvernig frelsisgráður tengdar með margpunkta höftum eru felldar inn í línulegu jöfnurnar. Jafnvel með sömu haftajöfnur í inntakinu breytir aðferðin eiginleikum og samleitni stuðlafylkisins.
| MPC-meðhöndlun | Hlutverk | Sjálfgefin notkun |
|---|---|---|
| Refsiaðferð | Fullnægir höftunum nálgað með því að bæta stórum stífleikaliðum við haftajöfnurnar. | Sjálfgefið fyrir beinar aðferðir. |
| MPC-CG-aðferð | Eldri aðferð sem meðhöndlar fylki-vigur margföldun með höftum inni í ítrunarleysinum. | Ekki mælt með. |
| Bein útrýming frelsisgráða | Útrýmir bundnum frelsisgráðum og leysir smækkaða línulega kerfið. | Sjálfgefið fyrir ítrunaraðferðir. |
Refsiaðferðin er sjálfgefin fyrir beinar aðferðir en bein útrýming frelsisgráða fyrir ítrunaraðferðir. MPC-CG er eldri samhæfisvalkostur og ekki ráðlagður fyrir nýjar greiningar; venjulega skal nota beina útrýmingu frelsisgráða eða sjálfgefna meðhöndlun valinnar beinnar aðferðar.
MPC-meðhöndlun má tilgreina sérstaklega með MPCMETHOD í !SOLVER. Um merkingu og snið hvers gildis, sjá lykilorðatilvísunina.
Útrýming snertifrelsisgráða¶
Útrýming snertifrelsisgráða smækkar viðbótarfrelsisgráður snertingar sem SLAGRANGE-snerting bætir við áður en kerfið er sent til línulega leysisins. Útrýming þeirra getur bætt eiginleika línulega kerfisins sem ítrunaraðferð leysir.
Í sjálfgefna sjálfvirka hamnum er útrýming snertifrelsisgráða virk fyrir ítrunaraðferðir en óvirk fyrir beinar aðferðir. Fyrir beinar aðferðir er til leið sem leysir stækkaða kerfið með snertifrelsisgráðunum beint.
Ef CONTACT_ELIM er tilgreint sérstaklega má einnig útrýma snertifrelsisgráðum með beinni aðferð. Um val á snertigerð, snertipari og snertialgrími í inntaki, sjá síðuna um snertingu og innfellingu.
Hjálparvirkni¶
Til að rannsaka samleitni og afköst leysis má nota mat á skilyrðistölu, fylkjaskrá og skráningu. Þessi virkni er óþörf í venjulegum greiningum og er einkum virkjuð fyrir villuleit eða afkastamat.
| Virkni | Tilgangur | Athugasemdir |
|---|---|---|
| Mat á skilyrðistölu | Skrifar mælikvarða á skilyrðistölu fyrir CG og GMRES. | Tiltækt í byggingum með LAPACK virkt. |
| Fylkjaskrá | Vistar fylkið og hægri hliðina sem send eru til leysisins. | Styður Matrix Market-, CSR- og BSR-snið. |
DUMPEXIT | Lýkur greiningu eftir að fylkið hefur verið skrifað. | Notað þegar aðeins fylkið þarf til ytri sannprófunar. |
ITERLOG | Skrifar samleitnisögu ítrunaraðferðar. | Notað til að skoða þróun leifar. |
TIMELOG | Skrifar reiknitíma leysis. | VERBOSE skrifar ítarlegri sundurliðun. |
STEPLOG | Skrifar skrefupplýsingar. | Notað til að skoða greiningarferlið. |
Fylkjaskrá gerir kleift að skoða stuðlafylkið sem greiningin setti saman í ytri verkfærum. Þegar DUMPEXIT er virkt lýkur greiningunni eftir að fylkið og hægri hliðin hafa verið vistuð. Mat á skilyrðistölu er tilraunavirkni fyrir CG og GMRES og má nota til að greina samleitni.
Tengd efni¶
- Línulegur leysir (fræði) — Stærðfræðilegar meginreglur ítrunaraðferða og forskilyrðingar.
- Ólínulegar ítranir og tímaheildun — Rammi Newton-ítrana, snertiítrana og tímaheildunar sem kallar á línulega leysinn.
- Svæðaskipting — MPI-samhliða greining og stillingar skörunardýptar.
- Snerting og innfelling — Val á snertigerðum og snertialgrímum.
- !SOLVER — Gildi og snið færibreytna leysis og forskilara.
- Nauðsynleg og valkvæð háð söfn — Háðir eins og
MUMPS,MKL(Intel PARDISO), Trilinos-ML og LAPACK.