ग्राफ़िक्स प्रसंस्करण इकाइयों पर सामान्य प्रयोजन कंप्यूटिंग: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 4: Line 4:
अनुक्रमिक कोड में यदि-तब-अन्यथा कथनों और लूप के विभिन्न रूपों का उपयोग करके प्रोग्राम के प्रवाह को नियंत्रित करना संभव है। ऐसी प्रवाह नियंत्रण संरचनाएँ हाल ही में जीपीयू में जोड़ी गई हैं।<ref name="book">{{cite web|url=https://developer.nvidia.com/gpugems/GPUGems2/gpugems2_chapter34.html|title=GPU Gems – Chapter 34, GPU Flow-Control Idioms}}</ref> अंकगणित/बिट संचालन की उचित रूप से तैयार की गई श्रृंखला का उपयोग करके सशर्त लेखन किया जा सकता है, लेकिन लूपिंग और सशर्त शाखा संभव नहीं थी।
अनुक्रमिक कोड में यदि-तब-अन्यथा कथनों और लूप के विभिन्न रूपों का उपयोग करके प्रोग्राम के प्रवाह को नियंत्रित करना संभव है। ऐसी प्रवाह नियंत्रण संरचनाएँ हाल ही में जीपीयू में जोड़ी गई हैं।<ref name="book">{{cite web|url=https://developer.nvidia.com/gpugems/GPUGems2/gpugems2_chapter34.html|title=GPU Gems – Chapter 34, GPU Flow-Control Idioms}}</ref> अंकगणित/बिट संचालन की उचित रूप से तैयार की गई श्रृंखला का उपयोग करके सशर्त लेखन किया जा सकता है, लेकिन लूपिंग और सशर्त शाखा संभव नहीं थी।


हाल के जीपीयू ब्रांचिंग की अनुमति देते हैं, लेकिन आमतौर पर प्रदर्शन दंड के साथ। सामान्यतः  आंतरिक लूपों में ब्रांचिंग से बचना चाहिए, चाहे वह सीपीयू या जीपीयू कोड में हो, और विभिन्न तरीकों, जैसे स्थैतिक शाखा रिज़ॉल्यूशन, पूर्व-गणना, पूर्वानुमान, लूप विभाजन,<ref name="Tutorial on eliminating branches">[https://web.archive.org/web/20110603193749/http://www.futurechips.org/tips-for-power-coders/basic-technique-to-help-branch-prediction.html Future Chips]. "Tutorial on removing branches", 2011</ref> और ज़ेड-कल्ल<ref name="survey">[http://graphics.idav.ucdavis.edu/publications/print_pub?pub_id=907 GPGPU survey paper] {{webarchive|url=https://web.archive.org/web/20070104090919/http://graphics.idav.ucdavis.edu/publications/print_pub?pub_id=907 |date=4 January 2007 }}: John D. Owens, David Luebke, Naga Govindaraju, Mark Harris, Jens Krüger, Aaron E. Lefohn, and Tim Purcell. "A Survey of General-Purpose Computation on Graphics Hardware". Computer Graphics Forum, volume 26, number 1, 2007, pp. 80–113.</ref> हार्डवेयर समर्थन मौजूद नहीं होने पर ब्रांचिंग प्राप्त करने के लिए इसका उपयोग किया जा सकता है।
हाल के जीपीयू ब्रांचिंग की अनुमति देते हैं, लेकिन आमतौर पर प्रदर्शन दंड के साथ। सामान्यतः  आंतरिक लूपों में ब्रांचिंग से बचना चाहिए, चाहे वह सीपीयू या जीपीयू कोड में हो, और विभिन्न ,विधियों जैसे स्थैतिक शाखा रिज़ॉल्यूशन, पूर्व-गणना, पूर्वानुमान, लूप विभाजन,<ref name="Tutorial on eliminating branches">[https://web.archive.org/web/20110603193749/http://www.futurechips.org/tips-for-power-coders/basic-technique-to-help-branch-prediction.html Future Chips]. "Tutorial on removing branches", 2011</ref> और ज़ेड-कल्ल<ref name="survey">[http://graphics.idav.ucdavis.edu/publications/print_pub?pub_id=907 GPGPU survey paper] {{webarchive|url=https://web.archive.org/web/20070104090919/http://graphics.idav.ucdavis.edu/publications/print_pub?pub_id=907 |date=4 January 2007 }}: John D. Owens, David Luebke, Naga Govindaraju, Mark Harris, Jens Krüger, Aaron E. Lefohn, and Tim Purcell. "A Survey of General-Purpose Computation on Graphics Hardware". Computer Graphics Forum, volume 26, number 1, 2007, pp. 80–113.</ref> हार्डवेयर समर्थन उपस्थित नहीं होने पर ब्रांचिंग प्राप्त करने के लिए इसका उपयोग किया जा सकता है।


===जीपीयू विधियां===
===जीपीयू विधियां===


====मानचित्र====
====मानचित्र====
{{Main|Map (parallel pattern)}}
{{Main|मानचित्र (समानांतर पैटर्न)}}
मैप ऑपरेशन बस दिए गए फ़ंक्शन (कर्नेल) को स्ट्रीम के प्रत्येक तत्व पर लागू करता है। सरल उदाहरण स्ट्रीम में प्रत्येक मान को स्थिरांक ( छवि की चमक बढ़ाना) से गुणा करना है। मानचित्र संचालन को जीपीयू पर लागू करना सरल है। प्रोग्रामर स्क्रीन पर प्रत्येक पिक्सेल के लिए टुकड़ा उत्पन्न करता है और प्रत्येक पर टुकड़ा प्रोग्राम लागू करता है। समान आकार की परिणाम स्ट्रीम आउटपुट बफ़र में संग्रहीत होती है।
मैप ऑपरेशन बस दिए गए फ़ंक्शन (कर्नेल) को स्ट्रीम के प्रत्येक तत्व पर लागू करता है। सरल उदाहरण स्ट्रीम में प्रत्येक मान को स्थिरांक ( छवि की चमक बढ़ाना) से गुणा करना है। मानचित्र संचालन को जीपीयू पर लागू करना सरल है। प्रोग्रामर स्क्रीन पर प्रत्येक पिक्सेल के लिए टुकड़ा उत्पन्न करता है और प्रत्येक पर टुकड़ा प्रोग्राम लागू करता है। समान आकार की परिणाम स्ट्रीम आउटपुट बफ़र में संग्रहीत होती है।


====कम करें====
====कम करें====
{{Main|Fold (higher-order function)}}
{{Main|मोड़ो (उच्च-क्रम फ़ंक्शन)}}
कुछ गणनाओं के लिए बड़ी धारा से छोटी धारा (संभवतः केवल तत्व की धारा) की गणना करने की आवश्यकता होती है। इसे धारा का न्यूनीकरण कहते हैं। सामान्यतः , कमी कई चरणों में की जा सकती है। पिछले चरण के परिणामों को वर्तमान चरण के लिए इनपुट के रूप में उपयोग किया जाता है और जिस सीमा पर ऑपरेशन लागू किया जाता है वह तब तक कम हो जाता है जब तक कि केवल स्ट्रीम तत्व न रह जाए।
कुछ गणनाओं के लिए बड़ी धारा से छोटी धारा (संभवतः केवल तत्व की धारा) की गणना करने की आवश्यकता होती है। इसे धारा का न्यूनीकरण कहते हैं। सामान्यतः , कमी कई चरणों में की जा सकती है। पिछले चरण के परिणामों को वर्तमान चरण के लिए इनपुट के रूप में उपयोग किया जाता है और जिस सीमा पर ऑपरेशन लागू किया जाता है वह तब तक कम हो जाता है जब तक कि केवल स्ट्रीम तत्व न रह जाए।


====स्ट्रीम फ़िल्टरिंग====
====स्ट्रीम फ़िल्टरिंग====
स्ट्रीम फ़िल्टरिंग मूलतः गैर-समान कमी है। फ़िल्टरिंग में कुछ मानदंडों के आधार पर स्ट्रीम से आइटम हटाना शामिल है।
स्ट्रीम फ़िल्टरिंग मूलतः गैर-समान कमी है। फ़िल्टरिंग में कुछ मानदंडों के आधार पर स्ट्रीम से आइटम हटाना सम्मिलित  है।


====स्कैन====
====स्कैन====
Line 35: Line 35:
====खोज====
====खोज====
खोज ऑपरेशन प्रोग्रामर को स्ट्रीम के भीतर किसी दिए गए तत्व को ढूंढने की अनुमति देता है, या संभवतः किसी निर्दिष्ट तत्व के पड़ोसियों को ढूंढने की अनुमति देता है। जीपीयू का उपयोग किसी व्यक्तिगत तत्व की खोज को तेज़ करने के लिए नहीं किया जाता है, बल्कि इसका उपयोग समानांतर में कई खोजों को चलाने के लिए किया जाता है।  
खोज ऑपरेशन प्रोग्रामर को स्ट्रीम के भीतर किसी दिए गए तत्व को ढूंढने की अनुमति देता है, या संभवतः किसी निर्दिष्ट तत्व के पड़ोसियों को ढूंढने की अनुमति देता है। जीपीयू का उपयोग किसी व्यक्तिगत तत्व की खोज को तेज़ करने के लिए नहीं किया जाता है, बल्कि इसका उपयोग समानांतर में कई खोजों को चलाने के लिए किया जाता है।  
अधिकतर उपयोग की जाने वाली खोज विधि क्रमबद्ध तत्वों पर बाइनरी खोज है।
अधिकतर उपयोग की जाने वाली खोज विधि क्रमबद्ध तत्वों पर बाइनरी खोज है।


Line 222: Line 223:
† अपेक्षित स्पीडअप सिस्टम कॉन्फ़िगरेशन पर अत्यधिक निर्भर हैं। मल्टी-कोर x86 सीपीयू सॉकेट की तुलना में जीपीयू प्रदर्शन। जीपीयू प्रदर्शन को जीपीयू समर्थित सुविधाओं पर बेंचमार्क किया गया है और कर्नेल प्रदर्शन तुलना के लिए [[कर्नेल (छवि प्रसंस्करण)]] हो सकता है। उपयोग किए गए कॉन्फ़िगरेशन के विवरण के लिए, एप्लिकेशन वेबसाइट देखें। एनवीडिया इन-हाउस परीक्षण या आईएसवी के दस्तावेज़ीकरण के अनुसार स्पीडअप।
† अपेक्षित स्पीडअप सिस्टम कॉन्फ़िगरेशन पर अत्यधिक निर्भर हैं। मल्टी-कोर x86 सीपीयू सॉकेट की तुलना में जीपीयू प्रदर्शन। जीपीयू प्रदर्शन को जीपीयू समर्थित सुविधाओं पर बेंचमार्क किया गया है और कर्नेल प्रदर्शन तुलना के लिए [[कर्नेल (छवि प्रसंस्करण)]] हो सकता है। उपयोग किए गए कॉन्फ़िगरेशन के विवरण के लिए, एप्लिकेशन वेबसाइट देखें। एनवीडिया इन-हाउस परीक्षण या आईएसवी के दस्तावेज़ीकरण के अनुसार स्पीडअप।


‡ क्यू=क्वाड्रो जीपीयू, टी=[[एनवीडिया टेस्ला]]। एनवीडिया ने इस एप्लिकेशन के लिए जीपीयू की सिफारिश की। प्रमाणन जानकारी प्राप्त करने के लिए डेवलपर या आईएसवी से संपर्क करें।
‡ क्यू=क्वाड्रो जीपीयू, टी=[[एनवीडिया टेस्ला]]। एनवीडिया ने इस एप्लिकेशन के लिए जीपीयू की सिफारिश की। प्रमाणन जानकारी प्राप्त करने के लिए डेवलपर या आईएसवी से संपर्क कर सकता है।


==यह भी देखें==
==यह भी देखें==

Revision as of 22:46, 1 August 2023

जीपीयूपर, प्रोग्रामर केवल लूप की बॉडी को कर्नेल के रूप में निर्दिष्ट करता है और किस डेटा को इनवॉइस करके लूप करना है ज्यामिति प्रसंस्करण.

प्रवाह नियंत्रण

अनुक्रमिक कोड में यदि-तब-अन्यथा कथनों और लूप के विभिन्न रूपों का उपयोग करके प्रोग्राम के प्रवाह को नियंत्रित करना संभव है। ऐसी प्रवाह नियंत्रण संरचनाएँ हाल ही में जीपीयू में जोड़ी गई हैं।[1] अंकगणित/बिट संचालन की उचित रूप से तैयार की गई श्रृंखला का उपयोग करके सशर्त लेखन किया जा सकता है, लेकिन लूपिंग और सशर्त शाखा संभव नहीं थी।

हाल के जीपीयू ब्रांचिंग की अनुमति देते हैं, लेकिन आमतौर पर प्रदर्शन दंड के साथ। सामान्यतः आंतरिक लूपों में ब्रांचिंग से बचना चाहिए, चाहे वह सीपीयू या जीपीयू कोड में हो, और विभिन्न ,विधियों जैसे स्थैतिक शाखा रिज़ॉल्यूशन, पूर्व-गणना, पूर्वानुमान, लूप विभाजन,[2] और ज़ेड-कल्ल[3] हार्डवेयर समर्थन उपस्थित नहीं होने पर ब्रांचिंग प्राप्त करने के लिए इसका उपयोग किया जा सकता है।

जीपीयू विधियां

मानचित्र

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

कम करें

कुछ गणनाओं के लिए बड़ी धारा से छोटी धारा (संभवतः केवल तत्व की धारा) की गणना करने की आवश्यकता होती है। इसे धारा का न्यूनीकरण कहते हैं। सामान्यतः , कमी कई चरणों में की जा सकती है। पिछले चरण के परिणामों को वर्तमान चरण के लिए इनपुट के रूप में उपयोग किया जाता है और जिस सीमा पर ऑपरेशन लागू किया जाता है वह तब तक कम हो जाता है जब तक कि केवल स्ट्रीम तत्व न रह जाए।

स्ट्रीम फ़िल्टरिंग

स्ट्रीम फ़िल्टरिंग मूलतः गैर-समान कमी है। फ़िल्टरिंग में कुछ मानदंडों के आधार पर स्ट्रीम से आइटम हटाना सम्मिलित है।

स्कैन

स्कैन ऑपरेशन, जिसे प्रीफ़िक्स सम#पैरेलल एल्गोरिथम भी कहा जाता है, डेटा तत्वों के वेक्टर (स्ट्रीम) और पहचान तत्व 'i' के साथ मोनोइड|(मनमाना) सहयोगी बाइनरी फ़ंक्शन '+' लेता है। यदि इनपुट [a0, a1, a2, a3, ...] है, तो विशेष स्कैन आउटपुट उत्पन्न करता है [i, a0, a0 + a1, a0 + a1 + a2, ...], जबकि समावेशी स्कैन आउटपुट उत्पन्न करता है आउटपुट [a0, a0 + a1, a0 + a1 + a2, a0 + a1 + a2 + a3, ...] और अर्धसमूह अस्तित्व में है। जबकि पहली नज़र में ऑपरेशन स्वाभाविक रूप से क्रमिक लग सकता है, कुशल समानांतर स्कैन एल्गोरिदम संभव हैं और ग्राफिक्स प्रोसेसिंग इकाइयों पर लागू किए गए हैं। स्कैन ऑपरेशन में उदाहरण के लिए, क्विकसॉर्ट और स्पार्स मैट्रिक्स-वेक्टर गुणन का उपयोग होता है।[4][5][6][7]

तितर बितर

स्कैटर (वेक्टर एड्रेसिंग) ऑपरेशन सबसे स्वाभाविक रूप से वर्टेक्स प्रोसेसर पर परिभाषित होता है। वर्टेक्स प्रोसेसर वर्टेक्स (ज्यामिति) की स्थिति को समायोजित करने में सक्षम है, जो प्रोग्रामर को यह नियंत्रित करने की अनुमति देता है कि ग्रिड पर जानकारी कहाँ जमा की जाती है। अन्य विस्तार भी संभव हैं, जैसे यह नियंत्रित करना कि शीर्ष कितने बड़े क्षेत्र को प्रभावित करता है।

टुकड़ा प्रोसेसर प्रत्यक्ष स्कैटर ऑपरेशन नहीं कर सकता क्योंकि ग्रिड पर प्रत्येक टुकड़े का स्थान टुकड़े के निर्माण के समय तय होता है और प्रोग्रामर द्वारा इसे बदला नहीं जा सकता है। हालाँकि, तार्किक स्कैटर ऑपरेशन को कभी-कभी किसी अन्य एकत्रित चरण के साथ पुनर्गठित या कार्यान्वित किया जा सकता है। स्कैटर कार्यान्वयन पहले आउटपुट मान और आउटपुट पता दोनों उत्सर्जित करेगा। इसके तुरंत बाद इकट्ठा किया जाने वाला ऑपरेशन यह देखने के लिए पता तुलना का उपयोग करता है कि आउटपुट मान वर्तमान आउटपुट स्लॉट से मेल खाता है या नहीं।

समर्पित कंप्यूट कर्नेल में, स्कैटर को अनुक्रमित लेखन द्वारा निष्पादित किया जा सकता है।

इकट्ठा करें

इकट्ठा करना (वेक्टर संबोधन) बिखराव का विपरीत है। स्कैटर मानचित्र के अनुसार तत्वों को पुन: व्यवस्थित करने के बाद, इकट्ठा किए गए मानचित्र स्कैटर के अनुसार तत्वों के क्रम को पुनर्स्थापित कर सकता है। समर्पित कंप्यूट कर्नेल में, अनुक्रमित रीड्स द्वारा इकट्ठा किया जा सकता है। अन्य शेडर्स में, इसे टेक्सचर-लुकअप के साथ प्रदर्शित किया जाता है।

क्रमबद्ध करें

सॉर्ट ऑपरेशन तत्वों के अव्यवस्थित सेट को तत्वों के क्रमबद्ध सेट में बदल देता है। जीपीयू पर सबसे आम कार्यान्वयन पूर्णांक और फ्लोटिंग पॉइंट डेटा के लिए रेडिक्स सॉर्ट और सामान्य तुलनीय डेटा के लिए मोटे-ग्रेन्ड मर्ज़ सॉर्ट और फाइन-ग्रेन्ड सॉर्टिंग नेटवर्क का उपयोग करना है।[8][9]

खोज

खोज ऑपरेशन प्रोग्रामर को स्ट्रीम के भीतर किसी दिए गए तत्व को ढूंढने की अनुमति देता है, या संभवतः किसी निर्दिष्ट तत्व के पड़ोसियों को ढूंढने की अनुमति देता है। जीपीयू का उपयोग किसी व्यक्तिगत तत्व की खोज को तेज़ करने के लिए नहीं किया जाता है, बल्कि इसका उपयोग समानांतर में कई खोजों को चलाने के लिए किया जाता है।

अधिकतर उपयोग की जाने वाली खोज विधि क्रमबद्ध तत्वों पर बाइनरी खोज है।

डेटा संरचनाएं

जीपीयू पर विभिन्न प्रकार की डेटा संरचनाओं का प्रतिनिधित्व किया जा सकता है:

  • सघन सारणी डेटा संरचना
  • विरल मैट्रिक्स (विरल सरणी)  – स्थिर या गतिशील
  • अनुकूली संरचनाएं (संघ प्रकार)

अनुप्रयोग

निम्नलिखित कुछ क्षेत्र हैं जहां सामान्य प्रयोजन कंप्यूटिंग के लिए जीपीयू का उपयोग किया गया है:

रेफरी>"जीपीयू के साथ कम्प्यूटेशनल भौतिकी: लुंड वेधशाला". www.astro.lu.se. Archived from the original on 12 July 2010.</ref>

  • जैव सूचना विज्ञान

रेफरी>Schatz, Michael C; Trapnell, Cole; Delcher, Arthur L; Varshney, Amitabh (2007). "ग्राफ़िक्स प्रोसेसिंग इकाइयों का उपयोग करके उच्च-थ्रूपुट अनुक्रम संरेखण". BMC Bioinformatics. 8: 474. doi:10.1186/1471-2105-8-474. PMC 2222658. PMID 18070356.</ref>[25]

इलेक्ट्रॉनिक डिज़ाइन स्वचालन स्वचालन[40][41]

जैव सूचना विज्ञान

जैव सूचना विज्ञान में जीपीजीपीयू का उपयोग:<संदर्भ नाम = हसन खोंडकर एस. 2014 पीपी. 612-17 />[46]

आवेदन विवरण समर्थित सुविधाएँ अपेक्षित गति† GPU‡ मल्टी-जीपीयू समर्थन रिलीज़ स्थिति
बाराकुडा डीएनए, एपिजेनेटिक्स, अनुक्रम मानचित्रण सॉफ्टवेयर सहित लघु अनुक्रमण का संरेखण पढ़ता है 6–10x T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है, संस्करण 2.0.8
CUDASW++ जीपीयू पर स्मिथ-वाटरमैन प्रोटीन डेटाबेस खोज के लिए ओपन सोर्स सॉफ्टवेयर स्मिथ-वाटरमैन डेटाबेस की समानांतर खोज 10–50x T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है, संस्करण 2.0.8
CUSHAW समानांतर लघु पठन संरेखक समानांतर, सटीक लंबे समय तक पढ़ा जाने वाला संरेखक – बड़े जीनोम के लिए गैप संरेखण 10x T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है, संस्करण 1.0.40
GPU-BLAST तेज़ के-ट्यूपल अनुमानी के साथ स्थानीय खोज ब्लास्टपी, मल्टी सीपीयू थ्रेड्स के अनुसार प्रोटीन संरेखण 3–4x T 2075, 2090, K10, K20, K20X Single only अब उपलब्ध है, संस्करण 2.2.26
GPU-HMMER प्रोफ़ाइल में छिपे मार्कोव मॉडल के साथ समानांतर स्थानीय और वैश्विक खोज छिपे हुए मार्कोव मॉडल की समानांतर स्थानीय और वैश्विक खोज 60–100x T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है, संस्करण 2.3.2
mCUDA-MEME MEME पर आधारित अल्ट्राफास्ट स्केलेबल मोटिफ डिस्कवरी एल्गोरिदम MEME पर आधारित स्केलेबल मोटिफ डिस्कवरी एल्गोरिदम 4–10x T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है, संस्करण 3.0.12
SeqNFind एक GPU त्वरित अनुक्रम विश्लेषण टूलसेट रेफरेंस असेंबली, ब्लास्ट, स्मिथ-वाटरमैन, हम्म, डे नोवो असेंबली 400x T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है
UGENE एसएसई/सीयूडीए के लिए ओपनसोर्स स्मिथ-वॉटरमैन, प्रत्यय सरणी आधारित रिपीट फाइंडर और डॉटप्लॉट एसएसई/सीयूडीए के लिए ओपनसोर्स स्मिथ-वॉटरमैन, प्रत्यय सरणी आधारित रिपीट फाइंडर और डॉटप्लॉट 6–8x T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है, संस्करण 0.1-1
WideLM एक निश्चित डिज़ाइन और प्रतिक्रिया के लिए कई रैखिक मॉडल फिट बैठता है एक निश्चित डिज़ाइन और प्रतिक्रिया के लिए कई रैखिक मॉडल फिट बैठता है 150x T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है, संस्करण 0.1-1

आण्विक गतिशीलता

आवेदन विवरण समर्थित सुविधाएँ अपेक्षित गति† GPU‡ मल्टी-जीपीयू समर्थन रिलीज़ स्थिति
ऐबालोन प्रोटीन, डीएनए और लिगेंड्स के सिमुलेशन के लिए बायोपॉलिमर की आणविक गतिशीलता के मॉडल स्पष्ट और अंतर्निहित विलायक, संकर मोंटे कार्लो 4–120x T 2075, 2090, K10, K20, K20X Single only अब उपलब्ध है, संस्करण 1.8.88
एसीईएमडी आणविक यांत्रिकी बल क्षेत्रों, अंतर्निहित और स्पष्ट विलायक का जीपीयू सिमुलेशन जीपीयू पर उपयोग के लिए लिखा गया 160 ns/day GPU version only T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है
एम्बर बायोमोलेक्यूल पर आणविक गतिशीलता का अनुकरण करने के लिए कार्यक्रमों का सुइट पीएमईएमडी: स्पष्ट और अंतर्निहित विलायक 89.44 ns/day JAC NVE T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है, संस्करण 12 बगफिक्स9
डीएल-पॉली एक वितरित मेमोरी समानांतर कंप्यूटर पर मैक्रोमोलेक्यूल्स, पॉलिमर, आयनिक सिस्टम आदि का अनुकरण करें दो-निकाय बल, लिंक-सेल जोड़े, इवाल्ड एसपीएमई बल, शेक वीवी 4x T 2075, 2090, K10, K20, K20X Yes अभी उपलब्ध है, केवल संस्करण 4.0 स्रोत
आकर्षण बायोमोलेक्यूल पर आणविक गतिशीलता का अनुकरण करने के लिए एमडी पैकेज। ओपनएमएम के माध्यम से निहित (5x), स्पष्ट (2x) विलायक TBD T 2075, 2090, K10, K20, K20X Yes विकास में Q4/12
GROMACS जटिल बंधन अंतःक्रियाओं के साथ जैव रासायनिक अणुओं का अनुकरण करें निहित (5x), स्पष्ट (2x) विलायक 165 ns/Day DHFR T 2075, 2090, K10, K20, K20X Single only अब उपलब्ध है, Q4/12 में संस्करण 4.6
HOOMD-Blue निहित (5x), स्पष्ट (2x) विलायक जीपीयू के लिए लिखा गया 2x T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है
LAMMPS शास्त्रीय आणविक गतिशीलता पैकेज लेनार्ड-जोन्स, मोर्स, बकिंघम, चार्म, सारणीबद्ध, पाठ्यक्रम अनाज एसडीके, अनिसोट्रोपिक गे-बर्न, आरई-स्क्वायर, "हाइब्रिड" संयोजन 3–18x T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है
NAMD बड़े आणविक प्रणालियों के उच्च-प्रदर्शन सिमुलेशन के लिए डिज़ाइन किया गया 100M परमाणु सक्षम 6.44 एनएस/दिन एसटीएमवी 585x 2050एस T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है, संस्करण 2.9
OpenMM जीपीयू के साथ एचपीसी के लिए आणविक गतिशीलता के लिए पुस्तकालय और अनुप्रयोग निहित और स्पष्ट विलायक, कस्टम बल निहित: 127-213 एनएस/दिन; स्पष्ट: 18-55 एनएस/दिन डीएचएफआर T 2075, 2090, K10, K20, K20X Yes अब उपलब्ध है, संस्करण 4.1.1

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

‡ क्यू=क्वाड्रो जीपीयू, टी=एनवीडिया टेस्ला। एनवीडिया ने इस एप्लिकेशन के लिए जीपीयू की सिफारिश की। प्रमाणन जानकारी प्राप्त करने के लिए डेवलपर या आईएसवी से संपर्क कर सकता है।

यह भी देखें

संदर्भ

  1. "GPU Gems – Chapter 34, GPU Flow-Control Idioms".
  2. Future Chips. "Tutorial on removing branches", 2011
  3. GPGPU survey paper Archived 4 January 2007 at the Wayback Machine: John D. Owens, David Luebke, Naga Govindaraju, Mark Harris, Jens Krüger, Aaron E. Lefohn, and Tim Purcell. "A Survey of General-Purpose Computation on Graphics Hardware". Computer Graphics Forum, volume 26, number 1, 2007, pp. 80–113.
  4. "D. Göddeke, 2010. Fast and Accurate Finite-Element Multigrid Solvers for PDE Simulations on GPU Clusters. Ph.D. dissertation, Technischen Universität Dortmund". Archived from the original on 16 December 2014.
  5. "S. Sengupta, M. Harris, Y. Zhang, J. D. Owens, 2007. Scan primitives for GPU computing. In T. Aila and M. Segal (eds.): Graphics Hardware (2007)". Archived from the original on 5 June 2015. Retrieved 16 December 2014.
  6. Blelloch, G. E. (1989). "आदिम समानांतर संचालन के रूप में स्कैन करता है" (PDF). IEEE Transactions on Computers. 38 (11): 1526–1538. doi:10.1109/12.42122. Archived from the original (PDF) on 23 September 2015. Retrieved 16 December 2014.
  7. "M. Harris, S. Sengupta, J. D. Owens. Parallel Prefix Sum (Scan) with CUDA. In Nvidia: GPU Gems 3, Chapter 39".[permanent dead link]
  8. Merrill, Duane. Allocation-oriented Algorithm Design with Application to GPU Computing. Ph.D. dissertation, Department of Computer Science, University of Virginia. Dec. 2011.
  9. Sean Baxter. Modern gpu Archived 7 October 2016 at the Wayback Machine, 2013.
  10. Leung, Alan, Ondřej Lhoták, and Ghulam Lashari. "Automatic parallelization for graphics processing units." Proceedings of the 7th International Conference on Principles and Practice of Programming in Java. ACM, 2009.
  11. Henriksen, Troels, Martin Elsman, and Cosmin E. Oancea. "Size slicing: a hybrid approach to size inference in futhark." Proceedings of the 3rd ACM SIGPLAN workshop on Functional high-performance computing. ACM, 2014.
  12. Baskaran, Muthu Manikandan; Bondhugula, Uday; Krishnamoorthy, Sriram; Ramanujam, J.; Rountev, Atanas; Sadayappan, P. (2008). "A compiler framework for optimization of affine loop nests for gpgpus". Proceedings of the 22nd annual international conference on Supercomputing - ICS '08. p. 225. doi:10.1145/1375527.1375562. ISBN 9781605581583. S2CID 6137960.
  13. Joselli, Mark, et al. "A new physics engine with automatic process distribution between CPU-GPU[dead link]." Proceedings of the 2008 ACM SIGGRAPH symposium on Video games. ACM, 2008.
  14. "K. Crane, I. Llamas, S. Tariq, 2008. Real-Time Simulation and Rendering of 3D Fluids. In Nvidia: GPU Gems 3, Chapter 30".[permanent dead link]
  15. "M. Harris, 2004. Fast Fluid Dynamics Simulation on the GPU. In Nvidia: GPU Gems, Chapter 38". Archived from the original on 7 October 2017.
  16. Block, Benjamin; Virnau, Peter; Preis, Tobias (2010). "Multi-GPU accelerated multi-spin Monte Carlo simulations of the 2D Ising model". Computer Physics Communications. 181 (9): 1549–1556. arXiv:1007.3726. Bibcode:2010CoPhC.181.1549B. doi:10.1016/j.cpc.2010.05.005. S2CID 14828005.
  17. Sun, S.; Bauer, C.; Beichel, R. (2011). "Automated 3-D Segmentation of Lungs with Lung Cancer in CT Data Using a Novel Robust Active Shape Model Approach". IEEE Transactions on Medical Imaging. 31 (2): 449–460. doi:10.1109/TMI.2011.2171357. PMC 3657761. PMID 21997248.
  18. Jimenez, Edward S., and Laurel J. Orr. "Rethinking the union of computed tomography reconstruction and GPGPU computing." Penetrating Radiation Systems and Applications XIV. Vol. 8854. International Society for Optics and Photonics, 2013.
  19. Sørensen, Thomas Sangild, et al. "Accelerating the nonequispaced fast Fourier transform on commodity graphics hardware." IEEE Transactions on Medical Imaging 27.4 (2008): 538-547.
  20. Fast k-nearest neighbor search using GPU. In Proceedings of the CVPR Workshop on Computer Vision on GPU, Anchorage, Alaska, USA, June 2008. V. Garcia and E. Debreuve and M. Barlaud.
  21. M. Cococcioni, R. Grasso, M. Rixen, Rapid prototyping of high performance fuzzy computing applications using high level GPU programming for maritime operations support, in Proceedings of the 2011 IEEE Symposium on Computational Intelligence for Security and Defense Applications (CISDA), Paris, 11–15 April 2011
  22. Whalen, Sean. "Audio and the graphics processing unit." Author report, University of California Davis 47 (2005): 51.
  23. Wilson, Ron (3 September 2009). "DSP brings you a high-definition moon walk". EDN. Archived from the original on 22 January 2013. Retrieved 3 September 2009. Lowry is reportedly using Nvidia Tesla GPUs (graphics-processing units) programmed in the company's CUDA (Compute Unified Device Architecture) to implement the algorithms. Nvidia claims that the GPUs are approximately two orders of magnitude faster than CPU computations, reducing the processing time to less than one minute per frame.
  24. Alerstam, E.; Svensson, T.; Andersson-Engels, S. (2008). "फोटॉन माइग्रेशन के उच्च गति मोंटे कार्लो सिमुलेशन के लिए ग्राफिक्स प्रोसेसिंग इकाइयों के साथ समानांतर कंप्यूटिंग" (PDF). Journal of Biomedical Optics. 13 (6): 060504. Bibcode:2008JBO....13f0504A. doi:10.1117/1.3041496. PMID 19123645. Archived (PDF) from the original on 9 August 2011.
  25. Svetlin A. Manavski; Giorgio Valle (2008). "स्मिथ-वाटरमैन अनुक्रम संरेखण के लिए कुशल हार्डवेयर त्वरक के रूप में CUDA संगत GPU कार्ड". BMC Bioinformatics. 9 (Suppl. 2): S10. doi:10.1186/1471-2105-9-s2-s10. PMC 2323659. PMID 18387198.
  26. Olejnik, M; Steuwer, M; Gorlatch, S; Heider, D (15 November 2014). "gCUP: rapid GPU-based HIV-1 co-receptor usage prediction for next-generation sequencing". Bioinformatics. 30 (22): 3272–3. doi:10.1093/bioinformatics/btu535. PMID 25123901.
  27. Wang, Guohui, et al. "Accelerating computer vision algorithms using OpenCL framework on the mobile GPU-a case study." 2013 IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2013.
  28. GPU computing in OR Archived 13 January 2015 at the Wayback Machine Vincent Boyer, Didier El Baz. "Recent Advances on GPU Computing in Operations Research". Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2013 IEEE 27th International, on pages: 1778–1787
  29. Bukata, Libor; Sucha, Premysl; Hanzalek, Zdenek (2014). "CUDA प्लेटफ़ॉर्म के लिए डिज़ाइन किए गए समानांतर टैबू खोज का उपयोग करके संसाधन बाधित परियोजना शेड्यूलिंग समस्या का समाधान करना". Journal of Parallel and Distributed Computing. 77: 58–68. arXiv:1711.04556. doi:10.1016/j.jpdc.2014.11.005. S2CID 206391585.
  30. Bäumelt, Zdeněk; Dvořák, Jan; Šůcha, Přemysl; Hanzálek, Zdeněk (2016). "A Novel Approach for Nurse Rerostering based on a Parallel Algorithm". European Journal of Operational Research. 251 (2): 624–639. doi:10.1016/j.ejor.2015.11.022.
  31. CTU-IIG Archived 9 January 2016 at the Wayback Machine Czech Technical University in Prague, Industrial Informatics Group (2015).
  32. NRRPGpu Archived 9 January 2016 at the Wayback Machine Czech Technical University in Prague, Industrial Informatics Group (2015).
  33. Naju Mancheril. "PostgreSQL में GPU-आधारित सॉर्टिंग" (PDF). School of Computer Science – Carnegie Mellon University. Archived (PDF) from the original on 2 August 2011.
  34. Manavski, Svetlin A. "CUDA compatible GPU as an efficient hardware accelerator for AES cryptography Archived 7 May 2019 at the Wayback Machine." 2007 IEEE International Conference on Signal Processing and Communications. IEEE, 2007.
  35. Harrison, Owen; Waldron, John (2007). "AES Encryption Implementation and Analysis on Commodity Graphics Processing Units". Cryptographic Hardware and Embedded Systems - CHES 2007. Lecture Notes in Computer Science. Vol. 4727. p. 209. CiteSeerX 10.1.1.149.7643. doi:10.1007/978-3-540-74735-2_15. ISBN 978-3-540-74734-5.
  36. AES and modes of operations on SM4.0 compliant GPUs. Archived 21 August 2010 at the Wayback Machine Owen Harrison, John Waldron, Practical Symmetric Key Cryptography on Modern Graphics Hardware. In proceedings of USENIX Security 2008.
  37. Harrison, Owen; Waldron, John (2009). "Efficient Acceleration of Asymmetric Cryptography on Graphics Hardware". Progress in Cryptology – AFRICACRYPT 2009. Lecture Notes in Computer Science. Vol. 5580. p. 350. CiteSeerX 10.1.1.155.5448. doi:10.1007/978-3-642-02384-2_22. ISBN 978-3-642-02383-5.
  38. "Teraflop Troubles: The Power of Graphics Processing Units May Threaten the World's Password Security System". Georgia Tech Research Institute. Archived from the original on 30 December 2010. Retrieved 7 November 2010.
  39. "Want to deter hackers? Make your password longer". NBC News. 19 August 2010. Retrieved 7 November 2010.
  40. Lerner, Larry (9 April 2009). "Viewpoint: Mass GPUs, not CPUs for EDA simulations". EE Times. Retrieved 3 May 2009.
  41. "W2500 ADS Transient Convolution GT". accelerates signal integrity simulations on workstations that have Nvidia Compute Unified Device Architecture (CUDA)-based Graphics Processing Units (GPU)
  42. GrAVity: A Massively Parallel Antivirus Engine Archived 27 July 2010 at the Wayback Machine. Giorgos Vasiliadis and Sotiris Ioannidis, GrAVity: A Massively Parallel Antivirus Engine. In proceedings of RAID 2010.
  43. "Kaspersky Lab utilizes Nvidia technologies to enhance protection". Kaspersky Lab. 14 December 2009. Archived from the original on 19 June 2010. During internal testing, the Tesla S1070 demonstrated a 360-fold increase in the speed of the similarity-defining algorithm when compared to the popular Intel Core 2 Duo central processor running at a clock speed of 2.6 GHz.
  44. Gnort: High Performance Network Intrusion Detection Using Graphics Processors Archived 9 April 2011 at the Wayback Machine. Giorgos Vasiliadis et al., Gnort: High Performance Network Intrusion Detection Using Graphics Processors. In proceedings of RAID 2008.
  45. Regular Expression Matching on Graphics Hardware for Intrusion Detection Archived 27 July 2010 at the Wayback Machine. Giorgos Vasiliadis et al., Regular Expression Matching on Graphics Hardware for Intrusion Detection. In proceedings of RAID 2009.
  46. "जीपीयू-त्वरित अनुप्रयोग" (PDF). Archived (PDF) from the original on 25 March 2013. Retrieved 12 September 2013.