AVX
AVX, Advanced Vector Extensions, YMM रजिस्टरों और VEX-एन्कोडेड निर्देशों के साथ एक वेक्टर प्रोग्रामिंग मॉडल जोड़ता है, जिसमें 256-बिट फ़्लोटिंग-पॉइंट संचालन शामिल हैं। प्रोसेसर समर्थन और ऑपरेटिंग-सिस्टम स्थिति प्रबंधन दोनों की आवश्यकता होती है।
आपको क्या जानना चाहिए
AVX, Advanced Vector Extensions, YMM रजिस्टरों और VEX-एन्कोडेड निर्देशों के साथ एक वेक्टर प्रोग्रामिंग मॉडल जोड़ता है, जिसमें 256-बिट फ़्लोटिंग-पॉइंट संचालन शामिल हैं। प्रोसेसर समर्थन और ऑपरेटिंग-सिस्टम स्थिति प्रबंधन दोनों की आवश्यकता होती है।
यह कैसे काम करता है
AVX वेक्टर रजिस्टरों को 256 बिट्स तक विस्तारित करता है, जिसमें प्रत्येक YMM रजिस्टर का निचला 128 बिट्स इसके XMM रजिस्टर को ओवरलैप करता है। कई निर्देश तीन-ऑपरेंड फॉर्म का उपयोग करते हैं, जिससे गंतव्य इनपुट से भिन्न हो सकता है। एक 256-बिट वेक्टर 8 एकल-सटीक या 4 दोहरी-सटीक फ़्लोटिंग-पॉइंट मान रख सकता है, लेकिन निर्देश उनके ऑपरेंड प्रकारों और व्यवहार में भिन्न होते हैं।
यह कहाँ उपयोगी है
एक संख्यात्मक लूप एक वेक्टर निर्देश के साथ कई स्वतंत्र फ़्लोटिंग-पॉइंट मान जोड़ सकता है। कंपाइलर या लाइब्रेरी को उस कोड को उत्पन्न करना चाहिए और लोड, संरेखण, टेल्स और निर्भरताओं को सही ढंग से व्यवस्थित करना चाहिए। AVX स्वचालित रूप से कोर में एक मनमाना प्रोग्राम समानांतर नहीं करता है, और 256 बिट्स पर पूर्णांक संचालन के लिए AVX2 मानने के बजाय प्रासंगिक एक्सटेंशन की जांच करने की आवश्यकता होती है।
सपोर्ट और सक्षमता की जांच कैसे करें
CPUID.01H:ECX AVX बिट 28, XSAVE बिट 26 और OSXSAVE बिट 27 की जांच करें। केवल OSXSAVE की पुष्टि करने के बाद ही सॉफ़्टवेयर ECX=0 के साथ XGETBV का उपयोग कर सकता है और सत्यापित कर सकता है कि XCR0 बिट्स 1 और 2 XMM और YMM स्थिति को सक्षम करते हैं। एक पहचान प्रयोग के रूप में AVX निष्पादित करने के बजाय एक अनुरक्षित रनटाइम डिस्पैचर का उपयोग करें।
प्रोग्राम में दोनों एक उपयुक्त कार्यान्वयन होना चाहिए और रनटाइम पर इसका चयन करना चाहिए। हार्डवेयर गणना, OS-सक्षम रजिस्टर स्थिति और बाइनरी का संकलित आधारभूत अलग-अलग जांच हैं। एक वर्चुअल मशीन जानबूझकर अपने होस्ट की तुलना में कम सुविधाओं को उजागर कर सकती है, और एक कंटेनर होस्ट CPU में निर्देश नहीं जोड़ता है।
यह सुविधा क्या स्थापित नहीं करती है
अकेले AVX समर्थन का तात्पर्य AVX2, FMA, F16C, AVX-VNNI या AVX-512 से नहीं है। वेक्टर चौड़ाई यह नहीं बताती है कि एक निर्देश कितने चक्र लेता है। एक वर्चुअल मशीन भौतिक होस्ट की तुलना में एक छोटा निर्देश सेट प्रदर्शित कर सकती है।
व्यवहार में अनुकूलता और प्रदर्शन
प्रतिनिधि डेटा के साथ संपूर्ण कार्यभार को मापें। व्यापक वैक्टर मेमोरी ट्रैफ़िक, सिंक्रोनाइज़ेशन या रूपांतरण लागतों को अपरिवर्तित छोड़ते हुए निर्देश गणना को कम कर सकते हैं। निर्देश विलंबता, थ्रूपुट और शक्ति व्यवहार सटीक माइक्रोआर्किटेक्चर और परिचालन स्थितियों पर निर्भर करते हैं।
एक व्यावहारिक सत्यापन चेकलिस्ट
- शामिल सटीक प्रोसेसर या प्लेटफ़ॉर्म मॉडल और एप्लिकेशन, OS और रनटाइम संस्करणों को रिकॉर्ड करें। वास्तविक त्रुटि या आवश्यकता के शब्दों को सुरक्षित रखें।
- उस सटीक मॉडल के लिए निर्माता संदर्भ की जांच करें, फिर उस परिवेश में प्रभावी क्षमता और सक्षम स्थिति का निरीक्षण करें जहां प्रोग्राम चलता है।
- चयनित बाइनरी या बैकएंड की प्रत्येक आवश्यकता की तुलना करें। समान नाम वाली सुविधा, उपनाम या व्यापक तकनीक लेबल पर्याप्त नहीं है।
- पुष्टि करें कि एप्लिकेशन ने इच्छित कार्यान्वयन का चयन किया है। आवश्यकताएं पूरी न होने पर इसके दस्तावेजीकृत डायग्नोस्टिक्स और समर्थित फ़ॉलबैक का उपयोग करें।
- एक समय में एक समर्थित परिवर्तन करें और वही कार्यभार दोहराएं। मूल कॉन्फ़िगरेशन और पुनर्प्राप्ति पथ उपलब्ध रखें।
यदि सुविधा सूचीबद्ध है लेकिन सॉफ़्टवेयर इसका उपयोग नहीं कर सकता है
सटीक रूप से विफल घटक से शुरुआत करें। हार्डवेयर डेटाबेस रिकॉर्ड की गई क्षमता का वर्णन करता है; ऑपरेटिंग सिस्टम या हाइपरवाइज़र एक अलग प्रभावी वातावरण प्रदर्शित कर सकता है। एक अवैध-निर्देश त्रुटि के लिए वास्तविक दोषपूर्ण निर्देश और बाइनरी बिल्ड की जांच की भी आवश्यकता होती है, क्योंकि भ्रष्टाचार या एक असंबंधित असमर्थित निर्देश एक समान लक्षण उत्पन्न कर सकता है।
सटीक प्लेटफ़ॉर्म के लिए समर्थित एप्लिकेशन, ड्राइवर या रनटाइम संस्करण इंस्टॉल करें, और यदि आवश्यक हो तो विक्रेता के दस्तावेजीकृत बेसलाइन या फ़ॉलबैक बिल्ड का उपयोग करें। एक सॉफ़्टवेयर अपडेट ऐसा निर्देश नहीं बना सकता जिसकी प्रोसेसर में कमी है। फ़र्मवेयर और सुरक्षा-नीति परिवर्तनों को सामान्य अनुकूलन नुस्खे के बजाय सिस्टम निर्माता की प्रक्रिया और पुनर्प्राप्ति योजना का पालन करना चाहिए।
इस व्याख्या के स्रोत और दायरा
Intel 64 and IA-32 Architectures Software Developer's Manual · Linux कर्नेल: यूजर स्पेस में XSTATE सुविधाओं का उपयोग करना
ये संदर्भ आर्किटेक्चरल व्यवहार और सॉफ़्टवेयर आवश्यकताओं को स्थापित करते हैं। वे किसी लिंक्ड हार्डवेयर मॉडल पेज पर प्रत्येक सुविधा मान को स्वतंत्र रूप से सत्यापित नहीं करते हैं। मॉडल समर्थन के लिए, उस पेज के निर्माता साक्ष्य का उपयोग करें और प्रभावी सिस्टम कॉन्फ़िगरेशन की जांच करें। यह आलेख कोई बेंचमार्क, प्रमाणन या स्वतंत्र समीक्षा तिथि प्रदान नहीं करता है।
स्रोत और सत्यापन
संपादकीय स्वामित्व: Feex। कोई स्वतंत्र समीक्षा तिथि दर्ज नहीं है। हम कैसे शोध करते हैं.
- Intel 64 and IA-32 Architectures Software Developer's Manual · खंड 1 और 2 नामित निर्देश परिवारों और CPUID का वर्णन करते हैं; खंड 3 स्टेट, पेजिंग, VMX और सुरक्षा नियंत्रणों का वर्णन करता है। आर्किटेक्चर दस्तावेज़ किसी विशेष मॉडल के लिए समर्थन स्थापित नहीं करता है।
- Linux कर्नेल: यूजर स्पेस में XSTATE सुविधाओं का उपयोग करना · OS-सक्षम वेक्टर स्थिति, गतिशील रूप से सक्षम टाइल स्थिति, सिग्नल-स्टैक आवश्यकताएं और AMX अनुमति प्रवाह। लिनक्स-विशिष्ट व्यवहार किसी अन्य OS के बारे में वादा नहीं है।
क्या यह लेख उपयोगी था?
हाँ या ना ही काफी है। यदि आप चाहें तो कोई कारण चुनें, या एक संक्षिप्त नोट जोड़ें।
धन्यवाद। इससे हमें इस पृष्ठ को बेहतर बनाने में मदद मिलती है।