संख्यात्मक पीडीई में उच्च परिशुद्धता फ्लोटिंग-पॉइंट अंकगणित


9

मुझे बहुत अलग-अलग संसाधनों और शोध के साथ बातचीत से यह आभास होता है कि संख्यात्मक आंशिक अंतर समीकरणों में उच्च परिशुद्धता संगणना की बढ़ती मांग है। यहां, उच्च परिशुद्धता का मतलब सिर्फ मानक 64 बिट डबल परिशुद्धता की तुलना में अधिक सटीकता है।

मुझे इस विषय की कला की स्थिति के बारे में आश्चर्य है। तुलना के माध्यम से, संख्यात्मक PDE में कम्युनिटाइट्स होते हैं जो विशेष रूप से लक्ष्य करते हैं, उदाहरण के लिए, मल्टीकोर विधियां, बड़े पैमाने पर समानांतरकरण या जीपीयू-कंप्यूटिंग। मुझे आश्चर्य है कि एक समान समुदाय मौजूद है या संख्यात्मक पीडीई में उच्च परिशुद्धता के तरीकों के लिए बढ़ रहा है, और मुझे उच्च सटीकता पर परिचयात्मक या सर्वेक्षण पत्रों में दिलचस्पी होगी (और यह प्रश्न का वास्तविक बिंदु है), जो एक छाप भी प्रदान करता है विषय की वास्तविक प्रासंगिकता।

जवाबों:


16

सातत्य PDEs का विवेक आमतौर पर परिमित परिशुद्धता की तुलना में बहुत अधिक त्रुटि करता है। मुझे लगता है कि उच्च परिशुद्धता का अनुरोध करने वाले लगभग 90% लोग समस्या निर्माण के साथ ही आलसी हो गए हैं और खराब स्केलिंग, खराब विवेक या खराब निरंतरता मॉडलिंग का उपयोग करके समस्या को हल करने की कोशिश कर रहे हैं। शेष 10% में उचित रूप से बीमार हालत वाले सिस्टम हो सकते हैं जिनके लिए सटीक वृद्धि वास्तव में समझ में आती है। यहां तक ​​कि उन मामलों में, हम ज्यादातर डिबगिंग टूल के रूप में क्वाड सटीक का उपयोग करते हैं (विशेष रूप से परिमित विभेदित फ्रीचेट डेरिवेटिव का उपयोग करने के तरीकों के साथ, और "स्प्यूरियस" संख्यात्मक रिक्त स्थान के कारण की जांच करने के लिए) या स्थानीय रूप से इसके बजाय एक बहुत संवेदनशील स्थान के लिए। उत्पादन के लिए बड़े पैमाने पर।

__float128संस्करण 4.6 के बाद से जीसीसी ने प्रदान किया है , इसलिए इसे आज़माना बहुत आसान है। (पहले के कार्यान्वयन आम तौर पर बहुत अधिक घुसपैठ और कम पोर्टेबल होते थे।) PETSc ने --with-precision=__float128संस्करण 3.2 के बाद से समर्थन किया है, इसलिए यह सिर्फ recompiling की बात है।


सही। और फोरट्रान में वास्तविक (डीपी) है जहां कोई क्वाड सटीक प्राप्त करने के लिए डीपी = 16 (गैफरान के लिए) सेट कर सकता है, इसलिए यह कोशिश करना बहुत आसान है।
Ond 24ej Čertík

9

15 वर्षों में हमने डील के रूप में एफईएम सॉफ्टवेयर प्रदान किया है। II परियोजना (http://www.dealii.org/), मुझे नहीं लगता कि हमारे पास कभी भी पीडीई को हल करने के लिए वास्तविक अनुरोध था दोहरी सटीकता की तुलना में अधिक सटीकता। इसका कारण यह है कि जेड को अन्य उत्तर में सुझाव दिया गया है: पीडीई को विवेकहीन बनाने वाली त्रुटि 16 सटीकता के 16 अंकों की तुलना में बहुत बड़ी है जो एक डबल सटीक फ्लोटिंग पॉइंट अंकगणित से प्राप्त होती है। इस प्रकार, आपको उस बिंदु पर जाने के लिए एक अविश्वसनीय रूप से ठीक जाल रखना होगा जहां आपको समग्र त्रुटि को प्रभावित करने के लिए अंकगणित में अधिक सटीकता की आवश्यकता होती है।

मुझे लगता है कि वास्तव में विपरीत सच है: लोग इस बारे में सोच रहे हैं (और काम कर रहे हैं) तब क्या होता है जब आप, उदाहरण के लिए, मैट्रिक्स के तत्वों या पूर्ववर्ती तत्वों को संग्रहीत करने के लिए एकल परिशुद्धता का उपयोग करते हैं। सामान्य तौर पर, यह उनकी सटीकता को काफी कम नहीं करता है, लेकिन यह दो के लगभग एक कारक द्वारा प्रदर्शन को बढ़ाता है क्योंकि आपको प्रोसेसर से मेमोरी में केवल आधा डेटा जितना ही होना चाहिए।

इसलिए, मेरी समझ यह है कि क्वाड प्रिसिजन (या इससे भी अधिक) कुछ ऐसा है जो ओडीई सॉल्वर समुदाय के लिए प्रासंगिक हो सकता है, लेकिन पीडीएस समुदाय के लिए नहीं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.