Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
160 API-Records in Kapitel 8: 18 Klassen, 120 Funktionen, 4 Enumerationen und 3 Typ-Aliasse.
उपयोगकर्ता गाइडएआई जनित
विशेष हार्डवेयर एक्सेलेरेटरों पर गणना-गहन कार्यों के सुरक्षित ऑफलोडिंग को सक्षम बनाता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 94872e9e2305उद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
विशेष हार्डवेयर एक्सेलेरेटरों पर गणना-गहन कार्यों के सुरक्षित ऑफलोडिंग को सक्षम बनाता है।
नेमस्पेस ara::shwa सुरक्षित हार्डवेयर त्वरण (हार्डवेयर एक्सेलेरेशन) के लिए इंटरफेस प्रदान करता है और लक्ष्य प्रारूप Target ([AP_SWS_SHWA_00102]) के माध्यम से GPU या CPU जैसे उपकरणों पर समानांतर कम्प्यूटेशनल कार्यों की लक्षित ऑफलोडिंग को सक्षम बनाता है। अनुप्रयोग चयनकर्ताओं (selectors) के माध्यम से एक्सेलेरेटरों का चयन करते हैं, विशिष्ट रूप से प्रबंधित निष्पादन कतारें (execution queues) बनाते हैं, और बफ़र एक्सेसर्स के माध्यम से मेमोरी एक्सेस को नियंत्रित करते हैं। एक केंद्रीय बाधा के रूप में, गैर-कॉपी करने योग्य संसाधनों के साथ एक सख्त स्वामित्व मॉडल (ownership model) और ShwaErrorCode ([AP_SWS_SHWA_01301]) के माध्यम से अपवाद-मुक्त त्रुटि संकेतन लागू होता है।
संदर्भ
नेमस्पेस ara::shwa (Safe Hardware Acceleration) AUTOSAR Adaptive Platform के भीतर गणना-गहन कार्यों को विशेष हार्डवेयर एक्सेलेरेटरों पर ऑफलोड करने के लिए इंटरफेस प्रदान करता है। यह मॉड्यूल विभिन्न प्रकार के एक्सेलेरेटरों जैसे ग्राफिक्स प्रोसेसर (GPU), डिजिटल सिग्नल प्रोसेसर, या समर्पित मुख्य प्रोसेसर (CPU) के एकीकरण को सक्षम बनाता है।
सिस्टम परिवेश की पहचान क्लास Platform के माध्यम से की जाती है, जो नियंत्रण इकाई (ECU) पर उपलब्ध हार्डवेयर प्लेटफ़ॉर्मों का निर्धारण करती है और संबंधित Device-दृष्टांतों (instances) को सूचीबद्ध करती है। उपयुक्त उपकरण का चयन विशेष चयनकर्ताओं के माध्यम से गतिशील या स्थिर रूप से नियंत्रित किया जा सकता है: DeviceSelector एक पूर्णांक रैंक के आधार पर उपलब्ध इकाइयों को प्राथमिकता देने के लिए एक कॉल करने योग्य फ़ंक्शन ऑब्जेक्ट के रूप में कार्य करता है, जबकि CpuSelector, GpuSelector और AcceleratorSelector विशिष्ट निष्पादन इकाइयों को लक्षित रूप से संबोधित करते हैं। किसी एक्सेलेरेटर की वर्तमान परिचालन स्थिति को एन्यूमिरेशन DeviceStatus ([AP_SWS_SHWA_00103]) के माध्यम से दर्शाया जाता है।
गणना संचालन के समानांतर निष्पादन के लिए Queue ज़िम्मेदार है। कम्प्यूटेशन कार्यों को TaskHandler के माध्यम से एनकैप्सुलेट किया जाता है, जहाँ निष्पादन स्थान को Target ([AP_SWS_SHWA_00102]) के माध्यम से वैकल्पिक रूप से एक्सेलेरेटर (kDevice) पर या होस्ट CPU (kHostTask) पर निर्दिष्ट किया जाता है। इनपुट और आउटपुट डेटा के लिए मेमोरी क्षेत्र डायमेंशन विनिर्देश Range का उपयोग करते हुए Buffer के माध्यम से आवंटित किए जाते हैं। इन बफ़रों तक पहुँच को Accessor-ऑब्जेक्ट्स द्वारा नियंत्रित किया जाता है, जो AccessMode ([AP_SWS_SHWA_00101]) के माध्यम से एक्सेस मोड को प्रतिबंधित करते हैं।
ara::shwa में संसाधन और जीवनचक्र मॉडल संसाधन-स्वामित्व वाले ऑब्जेक्ट्स, वर्णनात्मक हैंडल्स और कतार-निर्भर घटकों के बीच सख्ती से अंतर करता है:
संसाधन-स्वामित्व वाली क्लासें:Queue, Buffer और Accessor हार्डवेयर संसाधनों और मेमोरी क्षेत्रों को विशेष रूप से प्रबंधित करती हैं। वे गैर-कॉपी करने योग्य (not copyable) हैं और उन्हें अनिवार्य रूप से std::unique_ptr के माध्यम से प्रबंधित किया जाना चाहिए। इन्हें आगे पास करना या स्थानांतरित करना केवल Move-सिमेंटिक्स के माध्यम से ही अनुमत है।
वर्णनात्मक हैंडल्स और सहायक क्लासें:Platform, Device, DeviceMonitor, Id, Range और PropertyList विशेष रूप से हार्डवेयर संसाधनों का स्वामित्व नहीं रखती हैं। वे कॉपी करने योग्य डिज़ाइन की गई हैं। Device का एक इंस्टेंस केवल किसी डिवाइस के लिए एक एक्सेस इंटरफ़ेस प्रस्तुत करता है, लेकिन इसे विशेष रूप से नियंत्रित नहीं करता है। व्याख्या: एक निष्पादन कतार (Queue) का इनिशियलाइज़ेशन एक विशिष्ट, पहले से चयनित Device से बंधता है, क्योंकि Queue संसाधनों को विशेष रूप से प्रबंधित करता है। प्रश्न Q-c38811a811f133d0 (खुला)
निर्भर घटक: क्लासें Event (तुल्यकालन के लिए) और TaskHandler (कार्य प्रसंस्करण के लिए) केवल एक Queue के भीतर बनाई जा सकती हैं; किसी कतार के संदर्भ के बाहर उनका कोई कार्यात्मक महत्व नहीं होता है।
किसी डिवाइस का जीवनचक्र DeviceStatus ([AP_SWS_SHWA_00103]) में परिलक्षित होता है: परिचालन-तैयार स्थिति kReady के अलावा, किसी डिवाइस को दुर्गम (kNotAccesible), त्रुटिपूर्ण (kFailure) या अज्ञात (kUnknown) के रूप में निर्दिष्ट किया जा सकता है। व्याख्या: kReady, kNotAccesible और kFailure के बीच किसी डिवाइस की स्थिति में परिवर्तन रनटाइम पर DeviceMonitor या प्लेटफ़ॉर्म जैसी सहायक क्लासों के माध्यम से पहचाने जाते हैं। प्रश्न Q-8fc0dc95534dc8bc (खुला)
उपयोग पथ
त्वरित गणना निष्पादित करने के लिए ara::shwa का विशिष्ट उपयोग पाँच चरणों में विभाजित है:
प्लेटफ़ॉर्म और डिवाइस चयन: एप्लिकेशन Platform के माध्यम से उपलब्ध हार्डवेयर प्लेटफ़ॉर्म और उनके असाइन किए गए Device-इंस्टेंस पुनर्प्राप्त करता है। एक चयनकर्ता (जैसे DeviceSelector, GpuSelector या CpuSelector) सबसे उपयुक्त डिवाइस निर्धारित करता है, जिसका DeviceStatus ([AP_SWS_SHWA_00103]) स्थिति kReady प्रदर्शित करता है।
कतार को इंस्टैनशिएट करना: चयनित Device के लिए एक Queue बनाया जाता है और इसे std::unique_ptr के रूप में रखा जाता है।
मेमोरी आवंटित और तैयार करना: इनपुट और आउटपुट डेटा के लिए आवश्यक आयामों के साथ Range के माध्यम से एक Buffer बनाया जाता है। भरने या मूल्यांकन के लिए, एप्लिकेशन एक Accessor का अनुरोध करता है, जहाँ AccessMode ([AP_SWS_SHWA_00101]) के माध्यम से एक्सेस मोड को kRead, kWrite या kReadWrite के रूप में घोषित किया जाता है।
टास्क पंजीकृत और निष्पादित करना:Queue के भीतर एक TaskHandler बनाया जाता है। निष्पादन प्रारंभ किया जाता है, जहाँ Target ([AP_SWS_SHWA_00102]) के माध्यम से यह निर्दिष्ट किया जाता है कि टास्क एक्सेलेरेटर (kDevice) पर चलता है या होस्ट (kHostTask) पर।
तुल्यकालन (Synchronization):Queue एक Event प्रदान करता है, जिसके साथ होस्ट एप्लिकेशन हार्डवेयर एक्सेलेरेटर पर गणनाओं के अतुल्यकालिक (asynchronous) समापन की निगरानी करता है और डेटा मिलान को सिंक्रनाइज़ करता है।
ara::shwa का प्रोग्रामिंग इंटरफ़ेस अपवाद-मुक्त (exception-free) डिज़ाइन किया गया है। त्रुटि स्थितियों को ara::core::ErrorCode के माध्यम से तुल्यकालिक रूप से लौटाया जाता है। त्रुटि कोड का निर्माण त्रुटि डोमेन GetShwaDomain ([AP_SWS_SHWA_01311]) के संदर्भ में फ़ैक्टरी फ़ंक्शन MakeErrorCode ([AP_SWS_SHWA_01312]) के माध्यम से किया जाता है। यदि एप्लिकेशन आर्किटेक्चर अपवाद-आधारित त्रुटि मॉडल प्रदान करता है, तो त्रुटि कोड को ShwaException में परिवर्तित किया जा सकता है और थ्रो किया जा सकता है।
एन्यूमिरेशन ShwaErrorCode ([AP_SWS_SHWA_01301]) मानकीकृत त्रुटि कारणों को निर्दिष्ट करता है:
मेमोरी और एक्सेस संबंधी समस्याएं: यदि मुख्य मेमोरी का आवंटन विफल हो जाता है, तो इसका परिणाम kMemoryNotAllocated होता है। यदि किसी बफ़र की डेटा सुसंगतता बनाए नहीं रखी जा सकती है, तो kIntegrityCorrupted की सूचना दी जाती है। अमान्य एक्सेस मोड या Accessor-ऑब्जेक्ट्स पर विफल संचालन kInvalidAccessMode या kAccessorFailure का कारण बनते हैं।
निष्पादन और तुल्यकालन त्रुटियाँ: यदि लक्ष्य डिवाइस पर किसी कार्य का प्रसंस्करण विफल हो जाता है, तो kTaskExecutionFailure का संकेत दिया जाता है। तुल्यकालन ऑब्जेक्ट्स पर अनधिकृत संचालन kEventInvalidOperation की ओर ले जाते हैं, जबकि अवरुद्ध संसाधन kResourceBusy को ट्रिगर करते हैं। कॉन्फ़िगर किए गए निष्पादन समय से अधिक होने पर kTimedOut लौटाया जाता है।
अमान्य पैरामीटर और ऑब्जेक्ट स्थितियाँ: नष्ट या अमान्य ऑब्जेक्ट्स पर विधियों को कॉल करने पर kInvalidObject प्राप्त होता है। अमान्य इंडेक्स या पैरामीटर kInvalidIndex या kInvalidParameter के माध्यम से अस्वीकार कर दिए जाते हैं। असमर्थित फ़ंक्शन kFeatureNotSupported रिपोर्ट करते हैं, जबकि सामान्य त्रुटियाँ kRuntime के माध्यम से दर्ज की जाती हैं।
एक्सेलेरेटर पर एसिंक्रोनस गणना के दौरान होने वाली त्रुटियों को संभालने के लिए क्लास ErrorHandler का उपयोग किया जाता है।
यह मार्गदर्शिका पूरी तरह से AUTOSAR R25-11 में ara::shwa के विनिर्देश पर आधारित है।
CpuSelector manages CPU selection for operations on HWA if available Allows to get a device from any supported backends for which the device type is CPU.
Class allowing to choose the most appropriate device of the available ones. This is a callable object taking a device reference and returning an integer rank. One of the device with the highest non-negative value is selected.
Platform class is responsible for extracting different HWA platforms available for current application and listing Devices bind to each platform. Designed as copyable since not owning resources.
Accessor manages read and write access to allocated memory by Buffer. Designed as not copyable, since it’s owning resources. Intended to be managed exclusively by std::unique_ptr, which may be moved. ≙ std::unique_ptr
Buffer manages memory allocation for operations on the host or/and HWA. Designed as not copyable, since it’s owning resources. Intended to be managed exclusively by std::unique_ptr, which may be moved. ≙ std::unique_ptr
Event class helps to manage task execution synchronization between HWA and Host application. Can be created only inside of the Queue otherwise it’s meaningless.
Queue API provides the functionality for parallel processing on selected Device. Designed as not copyable, since it’s owning resources. Intended to be managed exclusively by std::unique_ ptr, which may be moved. ≙ std::unique_
Exception type could be thrown by application or other FC using Safe Hardware Acceleration. Safe Hardware Acceleration API is exception free and can only return an ErrorCode, but user code can transform this error to exception and throw if it’s alligned with system error handling architecture.
Property List class is designed to enable vendor specific SHWA functionality extension and adjustment. Properties are not standardized and can be defined by Vendor. Class using Property list is obliged to have HasProperty() and GetProperty() methods defined.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल