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 विचलित वा विफल हुँदा वैकल्पिक पुनरावृत्ति विधिमा स्विच गर्न सकिन्छ। यो CG मुख्य सोल्भर भएको अवस्थामा फलब्याक हो; अन्य सेटिङ मान र डेटा पङ्क्ति मुख्य सोल्भरसँगै प्रयोग हुन्छन्।

CG, BiCGSTAB, GPBiCGPipeCG ले अवशेष भेक्टरलाई पुनरावृत्ति सम्बन्धबाट अद्यावधिक गर्ने भएकाले, पुनरावृत्ति बढ्दै जाँदा गोलाइ त्रुटि सञ्चित भएर गणना गरिएको अवशेष वास्तविक अवशेषबाट विचलित हुन सक्छ। यसलाई रोक्न, निश्चित सङ्ख्याको पुनरावृत्तिपछि दायाँ पक्ष र म्याट्रिक्स-भेक्टर गुणनबाट अवशेष भेक्टर पुनः गणना गरिन्छ। यो अन्तराल 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 विघटनका रूपमा कार्यान्वित छ र सामान्य DOF म्याट्रिक्स पनि समर्थन गर्छ। 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 मा चल्छ।

सम्पर्क वा MPC भएको समानान्तर विश्लेषणमा SAINV प्रयोग गर्दा डोमेन विभाजनको ओभरल्याप गहिराइले अभिसरणमा प्रभाव पार्न सक्छ।

प्रत्यक्ष विधि

प्रत्यक्ष विधिले गुणाङ्क म्याट्रिक्स विघटन गरेर रैखिक समीकरण हल गर्छ। पुनरावृत्ति सङ्ख्यामा निर्भर नहुने भएकाले यो मजबुत हुन्छ र सम्पर्क वा बन्धन भएको विश्लेषणमा स्थिर विकल्प बन्न सक्छ। तर समस्या ठूलो हुँदै जाँदा मेमोरी प्रयोग बढ्छ।

प्रत्यक्ष विधि समानान्तर वातावरण प्रयोग
MUMPS MPI समानान्तर वितरित मेमोरी वातावरणमा स्पार्स म्याट्रिक्स प्रत्यक्ष रूपमा हल गर्छ।
MKL Intel MKL / OpenMP Intel MKL को प्रत्यक्ष विधि; आन्तरिक रूपमा Intel PARDISO प्रयोग हुन्छ। धेरै MPI प्रक्रियामा Cluster MKL मार्ग प्रयोग हुन्छ। DIRECTmkl भनेको MKL को उपनाम हो।

प्रत्यक्ष विधि सममित र असममित दुवै म्याट्रिक्समा प्रयोग गर्न सकिन्छ। MUMPSMKL प्रयोग गर्न निर्माणको समयमा सम्बन्धित पुस्तकालय लिंक गरिएको हुनुपर्छ। आवश्यक निर्भर पुस्तकालय र CMake विकल्पका लागि निर्माण गाइड हेर्नुहोस्।

FrontISTR मा बाह्य पुस्तकालय प्रयोग नगर्ने अन्तर्निर्मित प्रत्यक्ष-विधि मार्ग पनि छ, तर सामान्य विश्लेषणमा प्रत्यक्ष विधि छान्दा MUMPS वा MKL मुख्य उम्मेदवार हुन्।

प्रत्यक्ष विधिमा पूर्वसर्तकरण लागू हुँदैन। !SOLVER मा पूर्वसर्तक दिइएको भए पनि प्रत्यक्ष-विधि मार्गले त्यसलाई प्रयोग गर्दैन।

MPC प्रक्रिया विधि

MPC प्रक्रिया विधिले बहुबिन्दु बन्धनद्वारा जोडिएका स्वतन्त्रतालाई रैखिक समीकरणमा कसरी प्रतिबिम्बित गर्ने भन्ने निर्धारण गर्छ। इनपुटको बन्धन समीकरण उही भए पनि प्रक्रिया विधिअनुसार गुणाङ्क म्याट्रिक्सको गुण र अभिसरण बदलिन्छ।

MPC प्रक्रिया विधि स्थिति पूर्वनिर्धारित प्रयोग
पेनाल्टी विधि बन्धन समीकरणमा ठूलो कठोरता थपेर लगभग पूरा गरिन्छ। प्रत्यक्ष विधिको पूर्वनिर्धारित।
स्पष्ट स्वतन्त्रता हटाउने विधि बन्धित स्वतन्त्रता हटाएर सङ्कुचित रैखिक प्रणाली हल गर्छ। पुनरावृत्ति विधिको पूर्वनिर्धारित।

प्रत्यक्ष विधिमा पेनाल्टी विधि र पुनरावृत्ति विधिमा स्पष्ट स्वतन्त्रता हटाउने विधि पूर्वनिर्धारित हुन्छ। पहिले रोज्न सकिने MPC-CG विधि हटाइएको छ; MPCMETHOD=2 निर्दिष्ट गर्दा चेतावनी दिइन्छ र सम्बन्धित पूर्वनिर्धारित विधि प्रयोग गरिन्छ।

स्पष्ट स्वतन्त्रता हटाउने विधिमा, मोडल विश्लेषण र स्पष्ट विधिबाट गरिने गतिशील विश्लेषणमा प्रयोग हुने केन्द्रित द्रव्यमानलाई पनि कठोरता म्याट्रिक्सकै रूपान्तरणबाट सङ्कुचित गरिन्छ। सङ्कुचित द्रव्यमान म्याट्रिक्स सामान्यतया विकर्णीय नहुने भएकाले, यसका पङ्क्तिहरूको योगलाई केन्द्रित द्रव्यमानको रूपमा प्रयोग गरिन्छ। बन्धन समीकरणका गुणाङ्कहरूको योग 1 हुने जोड्ने वा अन्तर्वेशन बन्धनहरूमा, अधीन स्वतन्त्रता अंशको द्रव्यमान गुणाङ्कहरूको अनुपातमा प्रधान स्वतन्त्रता अंशहरूमा बाँडिन्छ।

MPC प्रक्रिया विधि !SOLVER को MPCMETHOD बाट स्पष्ट रूपमा निर्दिष्ट गर्न सकिन्छ। मानको अर्थ र ढाँचाका लागि कुञ्जीशब्द सन्दर्भ हेर्नुहोस्।

सम्पर्क स्वतन्त्रता हटाउने

सम्पर्क स्वतन्त्रता हटाउने सुविधा SLAGRANGE सम्पर्कले थप्ने स्वतन्त्रतालाई रैखिक सोल्भरमा पठाउनुअघि सङ्कुचित गर्छ। यसले पुनरावृत्ति विधिले व्यवहार गर्ने रैखिक प्रणालीको गुण सुधार्न सक्छ।

पूर्वनिर्धारित स्वचालित मोडमा पुनरावृत्ति विधि प्रयोग गर्दा सम्पर्क स्वतन्त्रता हटाइन्छ, तर प्रत्यक्ष विधि प्रयोग गर्दा हटाइँदैन। प्रत्यक्ष विधिका लागि सम्पर्क स्वतन्त्रता सहितको विस्तारित प्रणाली सीधै व्यवहार गर्ने मार्ग उपलब्ध छ।

CONTACT_ELIM स्पष्ट रूपमा निर्दिष्ट गरेमा प्रत्यक्ष विधिमा पनि सम्पर्क स्वतन्त्रता हटाउन सकिन्छ। सम्पर्क प्रकार, जोडी र एल्गोरिदमका इनपुट विकल्पका लागि सम्पर्क तथा इम्बेडिङ पृष्ठ हेर्नुहोस्।

सहायक सुविधा

सोल्भरको अभिसरण र कार्यसम्पादन जाँच्न कन्डिसन सङ्ख्या अनुमान, म्याट्रिक्स डम्प र लग आउटपुट प्रयोग गर्न सकिन्छ। सामान्य विश्लेषणमा यी आवश्यक हुँदैनन्; डिबग वा कार्यसम्पादन मूल्याङ्कनका लागि सक्रिय गर्नुहोस्।

सुविधा प्रयोग टिप्पणी
कन्डिसन सङ्ख्या अनुमान CGGMRES मा कन्डिसन सङ्ख्याको सूचक निकाल्छ। LAPACK सक्षम निर्माणमा प्रयोग हुन्छ।
म्याट्रिक्स डम्प सोल्भरमा पठाइने म्याट्रिक्स र दायाँ-पक्षलाई फाइलमा राख्छ। Matrix Market, CSR, BSR ढाँचा समर्थित।
DUMPEXIT म्याट्रिक्स डम्पपछि विश्लेषण समाप्त गर्छ। म्याट्रिक्स मात्र निकालेर बाह्य जाँच गर्न उपयोगी।
ITERLOG पुनरावृत्ति विधिको अभिसरण इतिहास निकाल्छ। अवशेषको परिवर्तन हेर्न प्रयोग हुन्छ।
TIMELOG सोल्भर गणना समय निकाल्छ। VERBOSE मा विस्तृत विभाजन देखाइन्छ।
STEPLOG स्टेप जानकारी निकाल्छ। विश्लेषण प्रक्रिया जाँच्न प्रयोग हुन्छ।
LOGLEVEL AMG पूर्वसर्तकको तहगत संरचना लगायतका निदान जानकारी निकाल्छ। ITERLOGTIMELOG बाट स्वतन्त्र रूपमा निर्दिष्ट गरिन्छ। मान बढाउँदा आउटपुट बढ्छ।

म्याट्रिक्स डम्प विश्लेषणमा बनेको गुणाङ्क म्याट्रिक्स बाह्य उपकरणले जाँच्न प्रयोग गरिन्छ। DUMPEXIT सक्रिय गर्दा म्याट्रिक्स र दायाँ-पक्ष बचत भएपछि विश्लेषण समाप्त हुन्छ। कन्डिसन सङ्ख्या अनुमान CGGMRES मा उपलब्ध प्रयोगात्मक सुविधा हो र अभिसरण निदानका लागि उपयोगी हुन्छ।

सम्बन्धित विषय