गुरुत्वाकर्षण n- शरीर की समस्या को समानांतर में कैसे हल किया जा सकता है?


25

गुरुत्वाकर्षण n- शरीर की समस्या को समानांतर में संख्यात्मक रूप से कैसे हल किया जा सकता है?

क्या परिशुद्धता-जटिलता ट्रेडऑफ़ संभव है?

सटीक मॉडल की गुणवत्ता को कैसे प्रभावित करता है?


यह पत्र ओपनएमपी के साथ संभावित कार्यान्वयन का वर्णन करता है।
गेरिमिया

जवाबों:


27

एल्गोरिदम की एक विस्तृत विविधता है; बार्न्स हट एक लोकप्रिय विधि है, और फास्ट मल्टीपोल विधि एक अधिक परिष्कृत ( एन ) विकल्प है।O(NlogN)O(N)

दोनों विधियां एक पेड़ डेटा संरचना का उपयोग करती हैं जहां नोड्स अनिवार्य रूप से पेड़ के प्रत्येक स्तर पर अपने निकटतम पड़ोसियों के साथ बातचीत करते हैं; आप पर्याप्त गहराई पर प्रक्रियाओं के सेट के बीच पेड़ को विभाजित करने के बारे में सोच सकते हैं, और फिर उन्हें केवल उच्चतम स्तरों पर सहयोग कर सकते हैं।

आप हाल ही में एक कागज petascale मशीनों पर महिला पुरूष पुरूष पर चर्चा पा सकते हैं यहाँ


2
BH, जिसे ट्री-कोड भी कहा जाता है, कम सटीकता पर बेहतर लगता है। यहां एक पेपर है जहां विधियों को अनुकूल रूप से संयोजित किया गया है, लेकिन मैंने इस काम को अभी तक अभ्यास में नहीं देखा है।
13:22 पर मैट नॅपले


8

वैकल्पिक स्रोत के रूप में, आप मेष-आधारित इवाल्ड जैसी विधियों को भी देख सकते हैं। "कण जाल" विधियों (जैसे PPPM और चिकनी कण जाल Ewald) की उत्पत्ति खगोल भौतिकी के लिए आकाशगंगाओं के सिमुलेशन में निहित है; आरोपों का कनेक्शन एक अनजाने साइड इफेक्ट था (जो कि अंततः मूल उपयोग से आगे निकल गया)।

अभी हाल ही में, बहुस्तरीय समन विधियों पर कुछ साहित्य भी आए हैं जो कि तेज गुणन विधियों और बार्न्स-हट की भावना में हैं, लेकिन विभिन्न परिस्थितियों में लाभ प्रदान कर सकते हैं (अधिक सामान्य और लचीली ज्यामिति, कुछ दक्षता लाभ आदि)।


8

के लिए शास्त्रीय गुरुत्वाकर्षण एन-शरीर समस्या , मुझे लगता है कि निम्नलिखित दो कागजात बल मूल्यांकन चरण के लिए समानांतर कार्यान्वयन की हिम्मत पर चर्चा में एक अच्छा काम करते हैं। यद्यपि कागजात एक GPU कार्यान्वयन पर चर्चा करते हैं, वे समानांतरवाद पर चर्चा करने और एल्गोरिदम का विवरण प्रदान करने के लिए एक अच्छा काम करते हैं:

नाइलैंड, हैरिस और प्रिन्स का यह पत्र GPU के लिए CUDA में प्रत्यक्ष एन-बॉडी एल्गोरिथम प्रस्तुत करता है।

योकोटा और बारबा के इस दूसरे पेपर में जीरो-कंप्यूटिंग के संदर्भ में ट्रेब्लो और फास्ट मल्टीपोल एल्गोरिथ्म पर भी अच्छी चर्चा है।

एन-बॉडी न्यूमेरिकल सिमुलेशन की सटीकता के बारे में आपके प्रश्न थोड़े अधिक शामिल हैं और बहुत सारे महत्वपूर्ण विवरण हैं कि एक उत्तर कई पुस्तकों को स्पॉन कर सकता है। मुझे लगता है कि ऐसा करने के लिए सबसे अच्छा विचार आपको पुस्तक संदर्भ के एक जोड़े को देना है। मैं सुझाव देता हूँ:

Sverre J. Aarseth द्वारा गुरुत्वाकर्षण N- शरीर सिमुलेशन

हॉकनी और ईस्टवुड द्वारा कणों का उपयोग करते हुए कंप्यूटर सिमुलेशन । (क्षमा करें कोई पीडीएफ संस्करण नहीं)


4

यदि आपको एक सरल कार्यान्वयन दृष्टिकोण की आवश्यकता है जो कि स्पर्शोन्मुख अर्थ में इष्टतम नहीं है, तो आप सभी-एकत्रित संचार कार्यों का उपयोग करने पर विचार कर सकते हैं। चूंकि प्रत्येक एन-निकायों को अन्य निकायों के गुरुत्वाकर्षण प्रभाव को जानने की आवश्यकता है, इसलिए प्रत्येक प्रोसेसर के लिए संपूर्ण डेटासेट जानना आवश्यक है। यह वही है जो ऑल-इकट्ठा ऑपरेशन करते हैं। एक अच्छी किताब है: माइकल जे। क्वीन (2004) द्वारा MPI और OPENMP के साथ C में समानांतर प्रोग्रामिंग जो पृष्ठ 82 पर ठीक इसी विषय पर चर्चा करता है। यह आपको एक शुरुआत देने के लिए देखने लायक हो सकता है।


3
O(n2)

यह सच है। हालांकि, जैसा कि मैंने पहले कहा था, यह एक आसान कार्यान्वयन है, जरूरी नहीं कि यह एक कुशल हो।
पॉल

+1 किसी तरह अन्य सभी उत्तर मान रहे हैं कि ओपी तेरा या पेटस्केल प्रदर्शन की तलाश कर रहा है। FMM और अकिन केवल अधिक भोली दृष्टिकोण के विपरीत समझ में आता है।
स्टेफानो एम

1

Google विद्वान देखें और अन्य कोड्स के बीच HACC और GADGET के संदर्भ देखें।


2
क्या आप HACC और GADGET की अनुशंसा करने के लिए थोड़ा और विवरण जोड़ सकते हैं?
पॉल

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