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.
[AP_SWS_SHWA_00411] libellé pas encore importéUpstream: RS_SHWA_00006
class AcceleratorSelector : public DeviceSelector {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Évalue et sélectionne des périphériques accélérateurs matériels à l'aide d'une stratégie de sélection pour les applications adaptatives.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ffcb3b3d577eProvenanceQuestions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Évalue et sélectionne des périphériques accélérateurs matériels à l'aide d'une stratégie de sélection pour les applications adaptatives.
Dans le module Hardware Acceleration, la classe ara::shwa::AcceleratorSelector sert à évaluer et à sélectionner des périphériques accélérateurs appropriés selon une stratégie de sélection ([AP_SWS_SHWA_00413]). SelectDevice() permet de sélectionner directement un Device adapté, tandis que operator() permet une évaluation numérique individuelle de chaque périphérique ([AP_SWS_SHWA_00412]). Comme les deux opérations sont spécifiées comme non sûres pour les threads, une utilisation concurrente requiert une synchronisation externe. Les erreurs potentielles telles que des ressources saturées ou des fonctionnalités non prises en charge sont signalées sans rollback via ara::core::Result.
Contexte
La classe ara::shwa::AcceleratorSelector fait office, dans le module shwa (Hardware Acceleration) de l'AUTOSAR Adaptive Platform, de sélecteur spécialisé pour les périphériques accélérateurs matériels. Selon la syntaxe de la classe, elle dérive publiquement de l'interface de base DeviceSelector (class AcceleratorSelector : public DeviceSelector). Sa tâche centrale consiste à évaluer des périphériques accélérateurs physiques ou logiques (Device) selon une stratégie de sélection définie ou à sélectionner un périphérique adapté ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]).
Parmi les partenaires d'interaction figurent la logique applicative de niveau supérieur, qui requiert des ressources d'accélérateur pour des tâches intensives en calcul, la classe de base héritée DeviceSelector ainsi que les instances de Device analysées ou renvoyées par le sélecteur. Les critères de sélection eux-mêmes sont encapsulés dans l'implémentation concrète de la stratégie de sélection ([AP_SWS_SHWA_00413]).
Diagramme de contexte : intégration d'AcceleratorSelector en interaction avec l'application, DeviceSelector et Device. Sources : [AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]
Cycle de vie
L'instanciation de AcceleratorSelector devrait généralement intervenir de manière spécifique à l'application ou par le biais de mécanismes de fabrique appropriés avant la première demande de périphérique. Question Q-933e42753f63687c (ouverte) La destruction a lieu dès que la logique de sélection n'est plus nécessaire pour le composant d'application concerné ; la spécification ne prescrit pas d'états intermédiaires ni de phases de cycle de vie spécifiques.
En ce qui concerne la concurrence, les deux opérations fournies – SelectDevice() et operator() – sont expressément spécifiées comme non sûres pour les threads (« not thread-safe ») ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]). Bien que les deux méthodes soient déclarées comme const, les appels parallèles via la même instance ou sur les mêmes ressources matérielles sous-jacentes doivent être synchronisés de manière externe par l'appelant.
Parcours d'utilisation
L'interaction avec AcceleratorSelector s'effectue selon deux voies d'utilisation alternatives : la sélection automatique directe ainsi que l'évaluation individuelle des candidats. Via la méthode virtuelle SelectDevice(), l'application demande directement la sélection d'un périphérique approprié selon la stratégie implémentée ([AP_SWS_SHWA_00413]). En cas de succès, l'appel renvoie une instance de Device encapsulée dans un ara::core::Result.
Alternativement, l'opérateur d'appel surchargé operator() permet l'évaluation pas à pas de périphériques connus individuels ([AP_SWS_SHWA_00412]). La valeur entière renvoyée par operator() (int) représente probablement un score d'adéquation relatif à partir duquel l'application peut elle-même effectuer un classement ou un filtrage. Interprétation : SelectDevice() encapsule de manière autonome la stratégie de sélection complète, tandis que operator() permet des comparaisons à grain fin de périphériques individuels. Question Q-e2de44ef0c9e936d (ouverte)
Diagramme de séquence : déroulement des appels lors de l'évaluation et de la sélection de périphériques. Sources : [AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]
Scénarios d'erreur
Les deux opérations sont déclarées comme noexcept et garantissent la sécurité contre les exceptions ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]). Les erreurs sont transmises exclusivement via le type de retour ara::core::Result. Les codes d'erreur suivants issus du domaine ShwaErrorCode sont spécifiés :
ShwaErrorCode::kResourceBusy : l'opération n'a pas pu être effectuée car la ressource concernée est actuellement occupée ou saturée ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]).
ShwaErrorCode::kFeatureNotSupported : une propriété demandée pour la sélection ou l'évaluation n'est pas prise en charge par la plateforme ou le périphérique ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]).
Il est défini pour les deux fonctions qu'aucune sémantique de rollback n'existe (no_rollback_semantics) ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]). Si une erreur survient, l'état précédent du système ou du matériel n'est pas restauré automatiquement. Les appelants doivent vérifier le code d'erreur de l'objet Result et, le cas échéant, déclencher de nouvelles tentatives ou des voies de sélection alternatives.
Ce guide a été généré par une IA sur la base de la spécification pour AUTOSAR Adaptive R25-11.
Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.
Scope
class ara::shwa::AcceleratorSelector
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
ara::core::Result< int > operator() (const Device &device) const noexcept override;
Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.
Scope
class ara::shwa::AcceleratorSelector
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · Original allemand