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