DEENESPTFRRUARHIKOZHNL

classe ara::shwa::AcceleratorSelector

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.

Header-Datei#include "ara/shwa/device_selector.h"
Scopenamespace ara::shwa

Guide utilisateurGÉNÉRÉ PAR IA

É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 IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ffcb3b3d577e Provenance Questions 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]).

diag_selector_context Anwendung Anwendung AcceleratorSelector AcceleratorSelector Anwendung->AcceleratorSelector utilise DeviceSelector DeviceSelector AcceleratorSelector->DeviceSelector spezialisiert Device Device AcceleratorSelector->Device selektiert / bewertet

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)

Évaluation et sélection de périphériques accélérateursApplicationAcceleratorSelectorUse Case: KandidatenbewertungloopPour chaque Device candidatoperator()(device)ara::core::Result<int> (Score)Use Case: Sélection directe du périphériqueSelectDevice()ara::core::Result<Device>

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.

Méthodes

SelectDevice fonction

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

virtual ara::core::Result< Device > SelectDevice () const noexcept override;

Opérateurs

operator() fonction

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

ara::core::Result< int > operator() (const Device &device) const noexcept override;

Détails

fonction SelectDevice [AP_SWS_SHWA_00413] Upstream: RS_SHWA_00006, RS_SHWA_00007

virtual ara::core::Result< Device > SelectDevice () const noexcept override;

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::AcceleratorSelector
Thread Safetynot thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safetyexception safe
ErrorsShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00413
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00413@rel:R25-11#5dc8fadc
Content hash
5dc8fadc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00413
Status: valid/unmigrated Version: rel:R25-11#2c9418b2 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/AP_SWS_SHWA_00413@rel:R25-11#2c9418b2
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction operator() [AP_SWS_SHWA_00412] Upstream: RS_SHWA_00006, RS_SHWA_00007

ara::core::Result< int > operator() (const Device &device) const noexcept override;

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::AcceleratorSelector
Thread Safetynot thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safetyexception safe
ErrorsShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00412
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00412@rel:R25-11#1c725173
Content hash
1c725173
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00412
Status: valid/unmigrated Version: rel:R25-11#3f4bde07 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/AP_SWS_SHWA_00412@rel:R25-11#3f4bde07
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill