सामान्य उद्देश्य एल्गोरिदम के उदाहरण जो एक GPU पर चलने से लाभान्वित हुए हैं? [बन्द है]


10

मैं सामान्य प्रयोजन के एल्गोरिदम (गैर-ग्राफिक्स से संबंधित) के उदाहरणों की तलाश कर रहा हूं जो सीपीयू की तुलना में एक GPU पर तेजी से परिमाण के क्रम को चलाने के लिए सिद्ध हुए हैं। मैं इन उदाहरणों का उपयोग अन्य एल्गोरिदम के बारे में रचनात्मक रूप से सोचने के लिए करूंगा जिन्हें मैं एक GPU पर लागू कर सकता हूं।


स्ट्रिंग संघनन, नींद की तरह
नौकरी

जवाबों:


10

कुछ बातें तुरंत दिमाग में आती हैं:

एक विशेष बिटकॉइन क्लाइंट को क्रिप्टोग्राफिक हैश प्रदर्शन करने के लिए GPU का उपयोग करने के लिए लिखा गया था। जीपीयू क्लाइंट आमतौर पर एक सामान्य 4-कोर सिस्टम पर एसएमपी सीपीयू क्लाइंट की तुलना में 10 गुना बेहतर प्रदर्शन करता है। बिटकॉइन असंबंधित क्रिप्टोग्राफिक हैश की बड़ी संख्या की गणना पर निर्भर करता है, जिसे समानांतर में गणना की जा सकती है।

Folding @ होम परियोजना प्रस्तावों उनके आणविक गतिशीलता सिमुलेशन के लिए एक GPU ग्राहक। ये गणना विभिन्न वातावरणों और स्थितियों में परमाणुओं के बीच व्यक्तिगत बंधनों पर की जाती हैं। गणित अपेक्षाकृत सरल है, लेकिन गतिविधि के मात्र नैनोसेकंड का अनुकरण करने के लिए प्रत्येक बंधन के लिए अरबों बार गणना की जानी चाहिए।

GPU कंप्यूटिंग के समर्थकों द्वारा उपयोग किया जाने वाला लोकप्रिय "खिलौना" उदाहरण एन-बॉडी समस्या है

इन बातों में जो समानता है वह है शर्मनाक समानांतर । यही है, समस्या को बड़ी संख्या में किए गए असतत संगणनों की एक छोटी संख्या में विघटित किया जा सकता है। यह उस तरह की संगणना है जिस पर GPU अच्छा है।

जटिल संगणनाएँ जो पिछली संगणनाओं के परिणामों पर निर्भर हैं, GPU के लिए अच्छी तरह से अनुकूल नहीं हैं।


मल्टीपल BOINC क्लाइंट के पास GPU सपोर्ट है। SETI @ होम एक और है।
ब्रायन नोब्लुच

वास्तव में। ऐसी कई परियोजनाएं हैं, लेकिन मैं इसे परियोजनाओं की एक व्यापक सूची नहीं बनाना चाहता था - बस यह इंगित करने के लिए कि उनके पास क्या है।
ग्रेफेड

8

वीडियो और ऑडियो ट्रांसकोडिंग एक बेहतरीन उदाहरण है। यह एक फ़ाइल प्रारूप से दूसरे में रूपांतरण है। एक उदाहरण MPEG-2 से H.264 है।

नोट वीडियो ट्रांसकोडिंग 3 डी ग्राफिक्स से संबंधित नहीं है। आप किसी शीर्ष और पिक्सेल शेडर का उपयोग करके वीडियो को एनकोड नहीं कर सकते।


ओपी गैर-ग्राफिक्स संबंधित उदाहरणों के लिए पूछ रहा है।
kiamlaluno

6
@kiamlaluno एक वीडियो को ट्रांसकोड करना ग्राफिक्स से संबंधित नहीं है, और ऑडियो ट्रांसकोडिंग सबसे प्रमाणित नहीं है। यह एक फ़ाइल प्रारूप से दूसरे में रूपांतरण है। एक उदाहरण MPEG-2 से H.264 है। यह प्रदर्शन करने के लिए ग्राफिक्स के प्रदर्शन की आवश्यकता नहीं है।
थॉमस ओवेन्स

2
@kiamlaluno: वीडियो ट्रांसकोडिंग 3 डी ग्राफिक्स से संबंधित नहीं है। आप किसी शीर्ष और पिक्सेल शेडर का उपयोग करके वीडियो को एनकोड नहीं कर सकते।
डेडएमजेड डीएएम 28'11

3

GPU का उपयोग करके खनन Bitcoins बहुत लोकप्रिय हो गया है।

... सहकर्मी से सहकर्मी, इलेक्ट्रॉनिक नकदी प्रणाली। बिटकॉइन निर्माण और हस्तांतरण एक ओपन सोर्स क्रिप्टोग्राफिक प्रोटोकॉल पर आधारित है और किसी भी केंद्रीय प्राधिकरण द्वारा प्रबंधित नहीं है। प्रत्येक बिटकॉइन को आठ दशमलव स्थानों पर उपविभाजित किया जाता है, जिससे 100 मिलियन छोटी इकाइयाँ बनती हैं जिन्हें सतोशी कहा जाता है। बिटकॉइन को एक मध्यवर्ती वित्तीय संस्थान के बिना कंप्यूटर या स्मार्टफोन के माध्यम से स्थानांतरित किया जा सकता है।

बिटकॉइन लेनदेन की प्रोसेसिंग बिटकॉइन माइनर्स नामक सर्वर द्वारा सुरक्षित की जाती है। ये सर्वर इंटरनेट-आधारित नेटवर्क पर संचार करते हैं और लेन-देन को जोड़कर पुष्टि करते हैं जो समय-समय पर अद्यतन और संग्रहीत किया जाता है। लेनदेन के अलावा प्रत्येक नए बहीखाता अपडेट में कुछ नए-नए बिटकॉइन बनाए जाते हैं ...

एक अन्य एप्लिकेशन ब्लैक-स्कोल्स जैसे मॉडल का उपयोग करके वास्तविक समय के व्यापार के लिए वित्तीय बाजारों में है ।

... विकल्पों के उपयोग के लिए एक प्रमुख आवश्यकता उनके उचित मूल्य की गणना करना है। मूल्य निर्धारण की समस्या को कुशलतापूर्वक हल करने के तरीके खोजने में तीस से अधिक वर्षों के लिए अनुसंधान का एक सक्रिय क्षेत्र रहा है, और यह आधुनिक वित्तीय इंजीनियरिंग का ध्यान केंद्रित करना जारी रखता है। जैसा कि वित्त-संबंधित समस्याओं के लिए अधिक संगणना लागू की गई है, आधुनिक आर्किटेक्चर पर इन एल्गोरिदम को लागू करने के लिए कुशल तरीके ढूंढना अधिक महत्वपूर्ण हो गया है।

यह अध्याय बताता है कि कैसे GPU का उपयोग करके विकल्पों को कुशलता से कीमत दी जा सकती है। हम दो अलग-अलग मूल्य निर्धारण मॉडल का उपयोग करके अपना मूल्यांकन करते हैं: ब्लैक-स्कोल्स मॉडल और जाली मॉडल। ये दोनों दृष्टिकोण GPU के लिए अच्छी तरह से मैप करते हैं, और दोनों आधुनिक CPU की तुलना में GPU पर काफी तेज हैं। यद्यपि दोनों में GPU के लिए सीधा मानचित्रण भी है, लेकिन गणना में अन्योन्याश्रितियों के कारण जाली मॉडल को लागू करने के लिए अतिरिक्त काम की आवश्यकता होती है ...


2

कॉनवे का गेम ऑफ लाइफ एक अच्छा अकादमिक उदाहरण है।

... जीवन के ब्रह्मांड का ब्रह्मांड वर्ग कोशिकाओं का एक अनंत दो आयामी ऑर्थोगोनल ग्रिड है, जिनमें से प्रत्येक दो संभव अवस्थाओं में से एक में जीवित या मृत है। प्रत्येक कोशिका अपने आठ पड़ोसियों के साथ बातचीत करती है, जो कि क्षैतिज, लंबवत या तिरछे आसन्न हैं। प्रत्येक चरण में, निम्नलिखित संक्रमण होते हैं:

  1. दो से कम जीवित पड़ोसियों के साथ कोई भी जीवित कोशिका मर जाती है, जैसे कि कम आबादी के कारण।
  2. दो या तीन जीवित पड़ोसियों के साथ कोई भी जीवित कोशिका अगली पीढ़ी पर रहती है।
  3. तीन से अधिक जीवित पड़ोसियों के साथ कोई भी जीवित कोशिका मर जाती है, जैसे कि भीड़भाड़ से।
  4. ठीक तीन जीवित पड़ोसियों के साथ कोई भी मृत कोशिका एक जीवित कोशिका बन जाती है, जैसे कि प्रजनन द्वारा।

प्रारंभिक पैटर्न सिस्टम के बीज का गठन करता है। पहली पीढ़ी बीज के प्रत्येक कोशिका में एक साथ उपरोक्त नियमों को लागू करके बनाई गई है - जन्म और मृत्यु एक साथ होती हैं, और असतत क्षण जिस पर ऐसा होता है उसे कभी-कभी एक टिक कहा जाता है (दूसरे शब्दों में, प्रत्येक पीढ़ी एक शुद्ध कार्य है पूर्ववर्ती)। आगे की पीढ़ियों को बनाने के लिए नियमों को बार-बार लागू किया जाता है ...


1

ऐसी समस्याएं जिनके लिए बहुत अधिक गणित की आवश्यकता होती है जो समवर्ती रूप से की जा सकती हैं। जहाँ मैं काम करता था, हम आनुवंशिक गलियारे को बाहर निकालने के लिए GPU के साथ / घटाना / गुणा करने के लिए 2 मैट्रिक्स के साथ खेलना चाहते थे। पहली बार जब मैंने जीपीयू के बारे में सुना, तो उनका उपयोग एक फ़ाइनैक्शियल सॉफ्टवेयर हाउस द्वारा किया जा रहा था, ताकि उनके कुछ मॉडलिंग (मोंटे कार्लो और आगे) कर सकें। कोड ब्रेकिंग में उपयोगी होगा।

जीपीयू शायद आपकी अधिक नियमित प्रोग्रामिंग समस्याओं के साथ मदद नहीं करेगा जहां सीपीयू कोर के एक जोड़े पर्याप्त हैं क्योंकि अधिकांश नियमित कार्यक्रमों को केवल कुछ समवर्ती प्रक्रिया को चलाने की आवश्यकता होती है। (स्मृति / डिस्क के साथ अलग होना जो हमारे पास वर्तमान में बहुत तेज है)


-3

हो सकता है कि मैं बहुत ही मैथ / साइंस / इंजीनियरिंग में विशिष्ट हूं, लेकिन जो मन में आता है वह है एफएफटी एल्गोरिदम।

मैंने इस एफएफटी बेंचमार्क को पहले देखा है, और हालांकि यह कुछ साल पुराना है, मुझे लगता है कि यह अच्छी तरह से किया गया था कि यह क्या है: http://www.sharcnet.ca/~merz/CUDA_benchFFT

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