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


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

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

तो एक चिप या डिवाइस के लिए बाजार क्यों नहीं है जिसमें GPU की प्रोसेसिंग पावर है, लेकिन ग्राफिक्स ओवरहेड नहीं है? मैं कुछ संभावित स्पष्टीकरणों के बारे में सोच सकता हूं। उनमें से कौन सा, यदि कोई है, तो सही है?

  • ऐसा विकल्प बहुत महंगा होगा जब GPU पहले से ही एक अच्छा विकल्प है (लॉन मोवर मौजूद नहीं हैं, क्यों नहीं इस पूरी तरह से अच्छे बॉक्स प्रशंसक का उपयोग करें?)।
  • तथ्य यह है कि 'जी' ग्राफिक्स के लिए खड़ा है केवल एक इच्छित उपयोग को दर्शाता है, और इसका मतलब यह नहीं है कि चिप को किसी अन्य प्रकार के काम की तुलना में चिप को बेहतर ढंग से अनुकूलित करने में कोई प्रयास होता है (लॉन मोवर और बॉक्स प्रशंसकों एक ही चीज हैं आप इसे नीचे ले जाते हैं; किसी को दूसरे की तरह काम करने के लिए कोई संशोधन आवश्यक नहीं है)।
  • आधुनिक जीपीयू का नाम उनके प्राचीन पूर्ववर्तियों के समान होता है, लेकिन इन दिनों उच्च अंत वाले ग्राफिक्स को विशेष रूप से ग्राफिक्स को संसाधित करने के लिए डिज़ाइन नहीं किया गया है (आधुनिक बॉक्स प्रशंसकों को ज्यादातर लॉन मोवर के रूप में काम करने के लिए डिज़ाइन किया गया है, भले ही पुराने व्यक्ति नहीं थे)।
  • ग्राफिक्स प्रसंस्करण की भाषा में किसी भी समस्या का अनुवाद करना आसान है (घास को हवा पर उड़ाने से वास्तव में तेज़ कर दिया जा सकता है)।

संपादित करें:

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

मैंने बस देखा कि ऐसे उपकरणों की मांग प्रतीत होती है जो जल्दी से समानांतर गणना कर सकते हैं। मैं सोच रहा था कि ऐसा क्यों लगता है कि इस तरह के उपकरण के लिए डिजाइन किए गए डिवाइस के विपरीत इष्टतम उपकरण ग्राफिक्स प्रोसेसिंग यूनिट है।


104
2018-06-05 03:06


मूल


क्योंकि वे कर रहे हैं इस प्रकार की चीज़ के लिए विशेष; यह मूल रूप से गणित के समान प्रकार है। और एनवीडिया ने जीपीयू-केवल बोर्डों को इस प्रकार के बड़े पैमाने पर समांतर संख्या क्रंचिंग करने के लिए बनाया और बेचा है। - Heptite
ध्यान रखें कि हमारे पास चिप्स में विशेष "इकाइयां" जोड़े गए हैं। सीईएस पर हार्डवेयर (मुझे लगता है) में एईएस किया जाता है। एवीएक्स हार्डवेयर में भी लागू किया गया है। हालांकि, आप कहां रुकते हैं? चिपमेकर को यह नहीं पता कि आपको क्या चाहिए और अधिकांश लोगों के पास अपनी विशिष्ट चिप्स को बहुत विशिष्ट कार्यों के लिए डिज़ाइन करने की क्षमता (तकनीकी या वित्तीय) नहीं है। ग्राफिक्स कार्ड हैं - जैसा कि अन्य ने कहा - एक प्रकार का विशेष आर्किटेक्चर, जो कुछ कार्यों के लिए खुद को अच्छी तरह से उधार देता है। वे सब कुछ के लिए अच्छा नहीं हैं - लेकिन कुछ विशिष्ट कार्यों के लिए और इस प्रकार वहां उपयोग किया जाता है। - DetlevCM
100 मीटर चौड़ी खेती के साथ बॉक्स प्रशंसकों को एक और सटीक समानता बदल देगा। - MooseBoys
मेरे पीसी में पहले ही जीपीयू का उपयोग करने के लिए तैयार है, एक समर्पित चिप डिजाइन और उत्पादन करने से मुझे कुछ मिलियन मिलेंगे। - PlasmaHH
एक और समानता का प्रयास करें। मान लें कि हमारे पास बॉक्स प्रशंसकों हैं, और हमारे पास हेलीकॉप्टर रोटर्स हैं। हमारी परिकल्पनात्मक दुनिया में, बॉक्स प्रशंसकों के लिए अनुप्रयोगों को प्रगतिशील रूप से बड़े प्रशंसकों की आवश्यकता होती है जब तक कि हम 20 मीटर कार्बन फाइबर-ब्लेड बॉक्स प्रशंसकों के साथ समाप्त नहीं हो जाते, और बड़े पैमाने पर उत्पादन ने उन्हें सस्ता बना दिया। तब किसी को एहसास हुआ कि एक 20 मीटर बॉक्स प्रशंसक अनिवार्य रूप से सिर्फ एक हेलीकॉप्टर रोटर है जिसके चारों ओर एक पिंजरे है। यह वास्तव में वही है। - Graham


जवाब:


यह वास्तव में आपके सभी स्पष्टीकरण का संयोजन है। सस्ता और आसान, पहले से मौजूद है, और डिजाइन शुद्ध ग्राफिक्स से दूर हो गया है।


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

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

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

सामान्य "गेमिंग" जीपीयू का उपयोग आमतौर पर किया जाता है क्योंकि पैमाने और सापेक्ष सादगी की अर्थव्यवस्थाएं उन्हें सस्ता और शुरू करने में आसान बनाती हैं। जीपीजीपीयू के साथ अन्य कार्यक्रमों में तेजी लाने के लिए ग्राफिक्स प्रोग्रामिंग से यह काफी आसान तरीका है। अन्य विकल्पों के विपरीत हार्डवेयर को अपग्रेड करना भी आसान है क्योंकि नए और तेज़ उत्पाद उपलब्ध हैं।


असल में, विकल्प नीचे आते हैं:

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

109
2018-06-05 04:10



एएसआईसी भी समझ में आता है जब कंप्यूटिंग सचमुच खुद के लिए भुगतान करती है (क्रिप्टो खनन) - ratchet freak
असल में, जीपीयू की तुलना में एफपीजीए अक्सर खराब होती है। समस्या यह है कि एफपीजीए बहुत लचीला है; वे कई विभिन्न परिचालनों को लागू कर सकते हैं। हालांकि, गणना आमतौर पर गणित का एक रूप है, और वास्तव में थोक केवल दो संचालन है: अतिरिक्त और गुणा (घटाव और विभाजन उपरोक्त के रूप हैं)। जीपीयू उन दो परिचालनों में बहुत अच्छे हैं, एफपीजीए की तुलना में कहीं ज्यादा। - MSalters
आपको एफपीजीए के बारे में अधिक स्पष्ट करने की जरूरत है। विचार है कि एक "कदम ऊपर" थोड़ा भ्रामक है। वे एक कदम के रास्ते के अधिक हैं। - Yakk
आखिरी एक उदाहरण के रूप में, Google के पास मशीन सीखने के लिए अपनी "टेंसर प्रोसेसिंग इकाइयां" हैं। उन्हें किस स्तर पर अनुकूलित किया गया है, अस्पष्ट है, लेकिन एएसआईसी के रूप में वर्णित हैं। - mbrig
@MSalters जीपीयू पर एफपीजीए के मुख्य बिक्री बिंदुओं में से एक प्रदर्शन / वाट है, जो अधिक महत्वपूर्ण हो रहा है क्योंकि डाटा सेंटर बिजली की दीवार को मारने लगते हैं (एफपीजीए आमतौर पर अधिक शक्ति कुशल होते हैं)। जहां तक ​​गणित है, एफपीजीए निश्चित बिंदु और पूर्णांक अंकगणित में जीपीयू के साथ तुलनीय हैं, और फ्लोटिंग-पॉइंट गणित में केवल अंतराल है। - wilcroft


मेरा पसंदीदा सादृश्य:

  • सी पी यू: एक पॉलिमथ प्रतिभा। एक समय में एक या दो चीजें कर सकते हैं लेकिन उन चीजें बहुत जटिल हो सकती हैं।
  • GPU: कम कुशल श्रमिकों का एक टन। उनमें से प्रत्येक बहुत बड़ी समस्या नहीं कर सकता है, लेकिन बड़े पैमाने पर आप बहुत कुछ कर सकते हैं। आपके प्रश्न के लिए, हाँ कुछ ग्राफिक्स ओवरहेड हैं लेकिन मेरा मानना ​​है कि यह मामूली है।
  • ASIC / FPGA: एक कंपनी। आप कम कुशल श्रमिकों या कुछ प्रतिभाओं का एक टन, या कम कुशल श्रमिकों और प्रतिभाओं के संयोजन को किराए पर ले सकते हैं।

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

सीधे आपके प्रश्न पर: एएसआईसी / एफपीजीए पर एक जीपीयू क्यों? आम तौर पर लागत। आज की बढ़ी हुई जीपीयू कीमतों के साथ भी, यह अभी भी (आमतौर पर) आपकी जरूरतों को पूरा करने के लिए एएसआईसी डिजाइन करने की तुलना में एक जीपीयू का उपयोग करने के लिए सस्ता है। @ User912264 बताते हैं, ऐसे विशिष्ट कार्य हैं जो एएसआईसी / एफपीजीए के लिए उपयोगी हो सकते हैं। यदि आपके पास एक अनूठा कार्य है और आपको पैमाने से लाभ होगा तो एएसआईसी / एफपीजीए तैयार करने के लिए यह मूल्यवान हो सकता है। वास्तव में, आप विशेष रूप से इस उद्देश्य के लिए एफपीजीए डिज़ाइन डिज़ाइन / खरीद / लाइसेंस कर सकते हैं। उदाहरण के लिए हाई डेफिनिशन टीवी में पिक्सेल को पावर करने के लिए यह किया जाता है।


32
2018-06-05 16:28



टिप्पणियां किसी भी तरह का जवाब देने के लिए नहीं हैं, और यह मेरे लिए एक उचित उत्तर की तरह लगता है। - Raimund Krämer
@BobtheMogicMoose लेकिन जीपीयू में समकक्ष कोड होने की तुलना में जीनोमिक विश्लेषण के लिए डिज़ाइन किए गए कस्टम एफपीजीए का उपयोग करने के लिए यह तीव्रता के आदेश हो सकता है। जब आप वैज्ञानिकों को परिणामों की प्रतीक्षा करने के लिए बैठने के लिए भुगतान कर रहे हैं, तो तेजी से एफपीजीए अपने लिए बहुत जल्दी भुगतान करता है। - user912264
एफपीजीए भी सामान्य डेवलपर के लिए बहुत अधिक सुलभ हो रहे हैं - माइक्रोसॉफ्ट के उदाहरण के लिए एक है एफपीजीए का उपयोग कर क्लाउड एआई समाधान (परियोजना ब्रेनवेव)। एडब्ल्यूएस में कुछ प्रसाद भी हैं। कोई भी कुछ कस्टम एफपीजीए को खुद को बनाने के बिना विशेष कार्यों के लिए किराए पर ले सकता है, कुछ साल पहले भी कई उपयोग मामलों के लिए व्यवहार्य नहीं है। - brichins
हाँ, मुझे लगता है कि यहां तक ​​कि एफपीजीए शौक किट भी हैं जो एक आर्डिनो रास्पबेरी-पीआई के बराबर हैं। मुझे अभी भी लगता है कि प्रोग्रामिंग एफपीजीए कहीं अधिक महंगा है कि अधिक विकसित आर्किटेक्चर। - BobtheMagicMoose


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

एक विशेष चिप के लिए आर एंड डी लागत और संभावित प्रदर्शन लाभ संभवतः एक बनाने के लिए बहुत अधिक हैं।

उस ने कहा, मुझे विशेष रूप से सामान्य प्रयोजन कंप्यूटिंग के लिए कुछ जीपीयू डालने के बारे में पता है - उनके पास कोई वीडियो आउटपुट नहीं था - पिंजरों के साथ पहले से ही हटाए गए पिंजरों के साथ बेचने वाले बॉक्स प्रशंसकों की तरह।


10
2018-06-05 16:06





बेशक, आप विशेष चिप्स का उपयोग ऊर्जा दक्षता या गणना गति के लिए कर सकते हैं। मैं आपको बिटकॉइन खनन का इतिहास बताता हूं:

  • बिटकॉइन नया है, अपने सीपीयू के साथ गीक मेरा है।
  • बिटकॉइन कुछ हद तक नया है, स्मार्ट जीक अपने जीपीयू के साथ मेरा है।
  • बिटकॉइन अब (थोड़े) प्रसिद्ध है, लोग एफपीजीए खरीदते हैं।
  • बिटकॉइन अब प्रसिद्ध है (2013), यहां तक ​​कि नए लोग कुशलतापूर्वक मेरे लिए एएसआईसी ("एप्लिकेशन विशिष्ट एकीकृत सर्किट") खरीदते हैं।
  • ब्लॉक इनाम ड्रॉप (आवधिक रूप से), यहां तक ​​कि पुराने एएसआईसी अब लाभदायक नहीं हैं।

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

टी एल; डॉ बेशक आप अधिक विशेष चिप्स का उपयोग कर सकते हैं।


9
2018-06-05 12:52



"बेशक आप अधिक विशेष चिप्स का उपयोग कर सकते हैं" - लेकिन बिटकॉइन (एसएचए -256) के लिए विशेष चिप्स हैं, फिर लाइटकोइन (स्क्रिप) के लिए और यह काफी अधिक है। अन्य समस्याओं के लिए उच्च प्रदर्शन कंप्यूटिंग हार्डवेयर मौजूद नहीं है। (यानी, वर्तमान उच्च अंत GPUs से अधिक प्रदर्शन के साथ) - Agent_L


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

नतीजा अच्छा था और गेंद रोलिंग शुरू हुई। सबसे अधिक मांग की स्थितियों में सहायता के लिए जीपीयू सामान्य प्रयोजन गणना का समर्थन करने के लिए ग्राफिक्स-केवल डिवाइस से चला गया।

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

तो निष्कर्ष में, आपके द्वारा प्रदान की जाने वाली पहली व्याख्या सबसे सटीक है:

  • ऐसा विकल्प वैकल्पिक रूप से विकसित होना महंगा होगा जब GPU पहले से ही एक अच्छा विकल्प है।

जीपीयू जहां पहले से ही हैं, वे आसानी से सभी के लिए उपलब्ध हैं और उन्होंने काम किया।


8
2018-06-05 06:53



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


विशेष रूप से, "कार्य समांतरता" के अर्थ में जीपीयू "कोर" नहीं होते हैं। अधिकांश भाग के लिए, यह "डेटा समांतरता" के रूप में है। सिमड "एकल निर्देश एकाधिक डेटा" है। इसका मतलब यह है कि आप यह नहीं करेंगे:

for parallel i in range(0,1024): c[i] = a[i] * b[i]

इसका मतलब यह होगा कि आपके पास 1024 निर्देश पॉइंटर्स हैं जो अलग-अलग दरों पर प्रगति करने वाले सभी अलग-अलग कार्य करते हैं। सिमड, या "वेक्टर कंप्यूटिंग" एक ही समय में पूरे सरणी में निर्देशों का पालन करेगा, इस तरह:

c = a * b

निर्देशों के बाहर "loops" "*" और "=" निर्देशों में हैं। उपर्युक्त सभी 1024 तत्वों के लिए एक ही समय में, उन सभी के लिए समान निर्देश सूचक पर ऐसा करेगा। यह ए, बी, और सी के लिए तीन विशाल रजिस्ट्रार होने जैसा है। सिम कोड बेहद बाध्य है, और केवल उन समस्याओं के लिए अच्छी तरह से काम करता है जो अत्यधिक "शाखा" नहीं हैं।

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

int32_x64 c; int32_x64 b; int32_x64 a; c = b * a;

असली जीपीयू सिम से अधिक जटिल हैं, लेकिन यह उनका सार है। यही कारण है कि आप एक जीपीयू पर एक यादृच्छिक सीपीयू एल्गोरिदम फेंक नहीं सकते हैं और एक गति की उम्मीद कर सकते हैं। एल्गोरिदम की शाखा बनाने के लिए अधिक निर्देश, जीपीयू के लिए कम उपयुक्त है।


5
2018-06-05 21:51





यहां अन्य उत्तर बहुत अच्छे हैं। मैं अपने 2 सेंट में भी फेंक दूंगा।

एक कारण है कि सीपीयू इतने व्यापक हो गए हैं कि वे लचीले हैं। आप उन्हें असीमित विविध कार्यों के लिए पुन: प्रोग्राम कर सकते हैं। इन दिनों यह उन कंपनियों के लिए सस्ता और तेज़ है जो किसी उत्पाद में छोटे सीपीयू या माइक्रोकंट्रोलर को चिपकाने के लिए उत्पादों का उत्पादन करते हैं और एक ही कार्य करने के लिए कस्टम सर्किटरी विकसित करने की तुलना में इसकी कार्यक्षमता प्रोग्राम करते हैं।

दूसरों के समान डिवाइस का उपयोग करके, आप उसी डिवाइस (या समान) का उपयोग कर समस्याओं के ज्ञात समाधानों का लाभ उठा सकते हैं। और जैसे ही मंच परिपक्व होता है, आपके समाधान विकसित होते हैं और बहुत परिपक्व और अनुकूलित हो जाते हैं। इन उपकरणों पर कोड करने वाले लोग भी विशेषज्ञता प्राप्त करते हैं और अपने शिल्प में बहुत अच्छे बन जाते हैं।

यदि आप स्क्रैच से एक नया डिवाइस प्रकार बनाना चाहते थे, तो जीपीयू के कुछ विकल्प में, शुरुआती गोद लेने वालों को वास्तव में यह जानने के लिए सालों लगेंगे कि इसका उपयोग कैसे किया जाए। यदि आप अपने सीपीयू में एएसआईसी संलग्न करते हैं, तो आप उस डिवाइस पर ऑफलोडिंग गणना को कैसे अनुकूलित करते हैं?

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

आपके पास एक काम करने वाला त्वरक होने के बाद, आर्थिक ताकतें आपके भाग्य का फैसला करने जा रही हैं। बाजार जड़ता एक अविश्वसनीय बल है। यहां तक ​​कि अगर कुछ अच्छा विचार है, तो क्या यह इस नए डिवाइस का उपयोग करने के लिए आपके कामकाजी समाधानों को दोबारा करने के लिए आर्थिक रूप से व्यवहार्य है? शायद शायद नहीं।

कुछ प्रकार की समस्याओं के लिए जीपीयू वास्तव में भयानक हैं, इसलिए बहुत से लोग / कंपनियां अन्य प्रकार के उपकरणों पर काम कर रही हैं। लेकिन जीपीयू पहले से ही इतने व्यस्त हैं, क्या उनके उपकरण कभी आर्थिक रूप से व्यवहार्य बन जाएंगे? मुझे लगता है हम देखेंगे।

संपादित करें: मेरे उत्तर पर थोड़ा सा विस्तार, अब मैं बस से बाहर हूं।

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

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

लोगों ने एफपीजीए के लिए कंपेलरों में तर्क संश्लेषण को एकीकृत करने की कोशिश की है, ताकि आप अपने एफपीजीए त्वरक के लिए स्वचालित रूप से कोड उत्पन्न कर सकें। वे अच्छी तरह से काम नहीं करते हैं।

एक जगह जो एक्सेलेरेटर के लिए वास्तव में उपजाऊ मिट्टी या जीपीयू के अन्य विकल्पों के रूप में प्रतीत होता है, बादल है। Google, अमेज़ॅन और माइक्रोसॉफ्ट जैसी बड़ी कंपनियों में मौजूद पैमाने की अर्थव्यवस्था वैकल्पिक गणना योजनाओं में सार्थक बनाती है। किसी ने पहले ही Google की टेंसर प्रोसेसिंग इकाइयों का उल्लेख किया है। माइक्रोसॉफ्ट के पास अपने बिंग और एज़ूर इंफ्रास्ट्रक्चर में एफपीजीए और अन्य सामान हैं। अमेज़ॅन के साथ वही कहानी। यह समय समझ में आता है कि स्केल समय, धन और इंजीनियर आँसू में आपके निवेश को ऑफ़सेट कर सकता है।

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

क्षमा करें, दोबारा संपादित करें: मुझे लगता है कि आपका प्रारंभिक आधार गलत है। मेरा मानना ​​है कि यह कंप्यूटिंग पावर के अतिरिक्त स्रोतों की तलाश में मामला कम था, और लोगों को एक मौका पहचानने का एक मामला था। ग्राफिक्स प्रोग्रामिंग बहुत रैखिक बीजगणित भारी है, और जीपीयू को मैट्रिक्स-मल्टीप्ली, वेक्टर ऑपरेशंस इत्यादि जैसे सामान्य संचालन करने के लिए डिज़ाइन किया गया था। ऑपरेशंस जो वैज्ञानिक कंप्यूटिंग के लिए भी बहुत आम हैं।

जीपीयू में दिलचस्पी शुरू हुई क्योंकि लोगों को यह पता चला कि इंटेल / एचपी ईपीआईसी परियोजना द्वारा दिए गए वादे काफी हद तक अधिक थे (2000 के दशक के उत्तरार्ध में)। कंपाइलर समांतरता के लिए कोई सामान्य समाधान नहीं था। तो कहने के बजाय "हमें अधिक प्रसंस्करण शक्ति कहां मिलती है, ओह हम जीपीयू को आजमा सकते हैं", मुझे लगता है कि यह और अधिक था "हमारे पास समानांतर गणनाओं में कुछ अच्छा है, क्या हम इसे आम तौर पर प्रोग्राम करने योग्य बना सकते हैं"। इसमें शामिल बहुत से लोग वैज्ञानिक कंप्यूटिंग समुदाय में थे, जिनके पास पहले से ही समानांतर फोरट्रान कोड था जो वे क्रे या टेरा मशीनों पर चला सकते थे (टेरा एमटीए में 128 हार्डवेयर धागे थे)। शायद दोनों दिशाओं से आंदोलन था, लेकिन मैंने केवल इस दिशा से जीपीजीपीयू की उत्पत्ति का उल्लेख सुना है।


5
2018-06-06 00:51



"त्वरक" द्वारा आप कस्टम पावर हार्डवेयर या कम पावर कंप्यूटिंग नोड्स के सुपर क्लस्टर का जिक्र कर रहे हैं? क्या आप कुछ उदाहरण त्वरक हार्डवेयर के संदर्भ प्रदान करके विस्तृत कर सकते हैं। - manav m-n
क्षमा करें, मैंने सोचा कि मैंने संदर्भ से यह स्पष्ट किया है। एक्सेलेरेटर एक कॉप्रोसेसर या ऑफ़लोड कार्ड के लिए सिर्फ एक छतरी शब्द है। फ़्लोटिंग प्वाइंट मूल रूप से एक कॉम्पोसेसर में था, न कि मुख्य सीपीयू, और इसे एक त्वरक माना जाएगा। जीपीयू, डीएसपी, ज़ीओन फाई, एफपीजीए जब वे पीसीआई कार्ड या कुछ समान होते हैं, तो एनालॉग अंतर समीकरण चीज मैंने उल्लेख किया है, ऐसे उपकरण हैं जो वर्चुअलाइजेशन में सहायता करते हैं, तंत्रिका नेटवर्क त्वरक में वर्तमान शोध है। वे त्वरक के सभी उदाहरण हैं। - NerdPirate


enter image description here

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

तो जीपीयू क्यों?

90 के दशक के मध्य में, 3 डीएफएक्स ने महसूस किया कि 3 डी-रेंडरिंग कार्य इतने विशिष्ट थे कि कस्टम एएसआईसी एक सीपीयू से काफी बेहतर प्रदर्शन करेगा। उन्होंने एक कंप्यूटर सह-प्रोसेसर बनाया जो सीपीयू से इस सह-प्रोसेसर को 3 डी प्रतिपादन कार्यों को ऑफ़लोड किया गया, जिसे उन्होंने "जीपीयू" कहा। प्रतिस्पर्धा और बाजार की मांग ने इस जगह में नवाचार को उस बिंदु पर पहुंचाया जहां जीपीयू सीपीयू की तुलना में बहुत अधिक गणना कर रहा था, इसलिए सवाल उठ गया, "मैं CPU की बजाय मेरी संख्या को कम करने के लिए GPU का उपयोग क्यों नहीं कर सकता?" जीपीयू निर्माताओं ने मांग और एक और पैसा बनाने का एक तरीका देखा, इसलिए डेवलपर्स को अपने हार्डवेयर का उपयोग करने की अनुमति देने के लिए उन्होंने अपने प्लेटफ़ॉर्म को बदलना शुरू कर दिया। लेकिन हार्डवेयर हार्डवेयर इतना उद्देश्य-विशिष्ट था कि GPU करने के लिए आप क्या पूछ सकते हैं, उसमें सीमाएं थीं और अभी भी हैं। मैं यहाँ क्यों पर विशिष्टता में नहीं जाऊंगा।

तो वहां और अधिक उद्देश्य-विशिष्ट सिलिकॉन क्यों नहीं था? क्यों ग्राफिक्स?

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

मुझे लगता है कि यदि आप कस्टम सिलिकॉन की लागत को कम कर सकते हैं तो आप बहुत सारा पैसा कमा सकते हैं। क्या कोई इस पर काम नहीं कर रहा है?

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

एफपीजीए के साथ मुख्य limiter सिलिकॉन आकार है - आप चिप पर कितना तर्क फिट कर सकते हैं? दूसरा घड़ी की गति है, क्योंकि एफपीजीए में हॉट स्पॉट, रिसाव और क्रॉस-टॉक जैसी चीज़ों को अनुकूलित करना मुश्किल है। नए फैब्रिकेशन विधियों ने इन मुद्दों को कम किया है, और इंटेल ने एफपीजीए प्रदान करने के लिए अल्टेरा के साथ मिलकर काम किया है जिसका उपयोग इंजीनियरों द्वारा सर्वर में सह-प्रोसेसर के रूप में "कस्टम सिलिकॉन" के लाभों का लाभ उठाने के लिए किया जा सकता है। तो यह एक अर्थ में आ रहा है।

क्या एफपीजीए कभी भी सीपीयू और जीपीयू की जगह लेगा?

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


4
2018-06-09 01:30



इनमें से कई एक्सटेंशन उस समय समझ गए (जैसे एमएमएक्स), लेकिन प्रोसेसर में अब काफी हद तक मृत वजन हैं।  3 डी प्रतिपादन है दूर सिम के लिए एकमात्र उपयोग-मामले से। एमएमएक्स का अधिकांश "वजन" निष्पादन इकाइयां है, और उन्हें एसएसई 2, एवीएक्स 2, और एवीएक्स 512 जैसे व्यापक वेक्टर के साथ साझा किया जा सकता है। उनको सीपीयू पर उच्च गुणवत्ता वाले वीडियो-एन्कोडिंग के लिए अत्यधिक उपयोग किया जाता है, और उच्च प्रदर्शन कंप्यूटिंग सहित कई अन्य कार्यों का उपयोग किया जाता है। लेकिन memchr, strlen, और कई अन्य सामान के पुस्तकालय कार्यान्वयन भी। जैसे एक सरणी फ़िल्टरिंग एक समय में 1 से अधिक तत्व - Peter Cordes