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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

रेफरी> रेफरी> इलेक्ट्रॉनिक डिज़ाइन स्वचालन स्वचालन
 * स्वचालित समानांतरीकरण
 * कम्प्यूटेशनल भौतिकी और भौतिकी इंजन (आमतौर पर न्यूटोनियन भौतिकी मॉडल पर आधारित)
 * कॉनवे का जीवन का खेल, कपड़ा अनुकरण, यूलर समीकरणों के समाधान द्वारा द्रव असंपीड्य प्रवाह (द्रव गतिशीलता) या नेवियर-स्टोक्स समीकरण
 * सांख्यिकीय भौतिकी
 * आइसिंग मॉडल
 * जाली गेज सिद्धांत
 * विभाजन (छवि प्रसंस्करण) – 2डी और 3डी
 * स्तर निर्धारित करने के तरीके तरीके
 * परिकलित टोमोग्राफी पुनर्निर्माण
 * फास्ट फूरियर ट्रांसफॉर्म
 * जीपीयू सीखना – यंत्र अधिगम और डेटा खनन गणना, उदाहरण के लिए, सॉफ़्टवेयर BIDMach के साथ
 * k-निकटतम पड़ोसी एल्गोरिथ्म
 * फजी लॉजिक
 * टोन मैपिंग
 * ऑडियो सिग्नल प्रोसेसिंग
 * अंकीय संकेत प्रक्रिया (डीएसपी) के लिए जीपीयू का उपयोग करने के लिए ऑडियो और ध्वनि प्रभाव प्रसंस्करण
 * एनालॉग सिग्नल प्रोसेसिंग
 * भाषण प्रसंस्करण
 * डिजिटल इमेज प्रोसेसिंग
 * वीडियो प्रोसेसिंग
 * हार्डवेयर ने वीडियो डिकोडिंग और पोस्ट-प्रोसेसिंग को त्वरित किया
 * मोशन मुआवज़ा (एमओ कॉम्प)
 * व्युत्क्रम असतत कोसाइन परिवर्तन (iDCT)
 * वेरिएबल-लेंथ डिकोडिंग (वीएलडी), हफ़मैन कोडिंग
 * व्युत्क्रम परिमाणीकरण (आईक्यू, बुद्धिलब्धि के साथ भ्रमित न हों)
 * इन-लूप डीब्लॉकिंग
 * बिटस्ट्रीम प्रोसेसिंग (सीएवीएलसी/सीएबीएसी) इस कार्य के लिए विशेष प्रयोजन हार्डवेयर का उपयोग कर रही है क्योंकि यह क्रमिक कार्य है जो नियमित जीपीजीपीयू गणना के लिए उपयुक्त नहीं है।
 * deinterlacing
 * स्थानिक-अस्थायी डिइंटरलेसिंग
 * शोर में कमी
 * किनारा एनहांसमेंट
 * रंग सुधार
 * हार्डवेयर त्वरित वीडियो एन्कोडिंग और प्री-प्रोसेसिंग
 * वैश्विक चमक – किरण अनुरेखण (ग्राफिक्स), फोटॉन मैपिंग, रेडियोसिटी (कंप्यूटर ग्राफिक्स) अन्य के मध्य, उपसतह प्रकीर्णन
 * ज्यामितीय कंप्यूटिंग – रचनात्मक ठोस ज्यामिति, दूरी क्षेत्र, टकराव का पता लगाना, पारदर्शिता गणना, छाया निर्माण
 * वैज्ञानिक कंप्यूटिंग
 * मोंटे कार्लो प्रकाश प्रसार का अनुकरण
 * मौसम की भविष्यवाणी
 * जलवायु अनुसंधान
 * जीपीयू पर आणविक मॉडलिंग<संदर्भ नाम = हसन खोंडकर एस. 2014 पीपी. 612-17 >
 * क्वांटम यांत्रिक भौतिकी
 * खगोल भौतिकी
 * जैव सूचना विज्ञान
 * कम्प्यूटेशनल वित्त
 * मेडिकल इमेजिंग
 * क्लिनिकल निर्णय समर्थन प्रणाली (सीडीएसएस)
 * कंप्यूटर दृष्टि
 * डिजिटल सिग्नल प्रोसेसिंग / सिग्नल प्रोसेसिंग
 * नियंत्रण इंजीनियरिंग
 * गतिविधि अनुसंधान
 * इसका कार्यान्वयन: संसाधन बाधित परियोजना शेड्यूलिंग समस्या को हल करने वाला जीपीयू टैबू खोज एल्गोरिदम गिटहब पर निःशुल्क उपलब्ध है; नर्स शेड्यूलिंग समस्या को हल करने वाला जीपीयू एल्गोरिदम GitHub पर निःशुल्क उपलब्ध है।
 * तंत्रिका - तंत्र
 * डेटाबेस संचालन
 * कम्प्यूटेशनल तरल सक्रिय विशेष रूप जाली बोल्ट्ज़मैन विधियाँ विधियों का उपयोग करते हुए
 * क्रिप्टोग्राफी और क्रिप्ट विश्लेषण
 * प्रदर्शन मॉडलिंग: जीपीयू पर कम्प्यूटेशनल रूप से गहन कार्य<संदर्भ नाम = हसन खोंडकर एस. 2014 पीपी. 612-17 />
 * इनका कार्यान्वयन: एमडी6, उच्च एन्क्रिप्शन मानक (एईएस), डेटा एन्क्रिप्शन मानक (डीईएस), आरएसए (एल्गोरिदम), अण्डाकार वक्र क्रिप्टोग्राफी (ईसीसी)
 * पासवर्ड क्रैक करना
 * cryptocurrency लेनदेन प्रसंस्करण (खनन) (बिटकॉइन नेटवर्क#खनन)
 * एंटीवायरस सॉफ्टवेयर
 * घुसपैठ का पता लगाना
 * SETI@home, Einstein@home जैसी वितरित कंप्यूटिंग परियोजनाओं के लिए कंप्यूटिंग शक्ति बढ़ाएँ

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

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

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

यह भी देखें

 * तेज़ द्वितीय
 * भौतिकी इंजन
 * उन्नत सिमुलेशन लाइब्रेरी
 * भौतिकी प्रसंस्करण इकाई (पीपीयू)
 * धातु के करीब
 * ऑडियो प्रोसेसिंग यूनिट
 * लारबी (माइक्रोआर्किटेक्चर)
 * एआई त्वरक
 * गहन शिक्षण प्रोसेसर (डीएलपी)
 * जीपीयूलिब