DEENESPTFRRUARHIKOZHNL

klasse ara::shwa::TaskHandler

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_01201] tekst nog niet geïmporteerd Upstream: RS_SHWA_00001

class TaskHandler final {...};

Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.

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

User GuideAI-GEGENEREERD

Maakt de aanmaak en indiening van zowel afzonderlijke als parallelle rekentaken naar versnellerapparaten mogelijk.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 6d7c7c77c2a9 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Maakt de aanmaak en indiening van zowel afzonderlijke als parallelle rekentaken naar versnellerapparaten mogelijk.

De klasse ara::shwa::TaskHandler dient voor het uitvoeren van taken op accelerator-hardware via queue-inzendingen [AP_SWS_SHWA_01203]. Nieuwe instanties worden thread-safe aangemaakt via de statische factory-methode Create(), die fouten in ara::core::Result retourneert [AP_SWS_SHWA_01202]. Via SingleTask en ParallelFor kunnen afzonderlijke of dataparallele rekenstappen naar het doelapparaat worden verzonden. Terwijl de instantiëring thread-safe is, zijn de task-inzendingen niet thread-safe en vereisen ze externe synchronisatie bij parallelle toegang.

Context

De klasse ara::shwa::TaskHandler maakt als finale klasse (final) deel uit van de module voor hardwareversnelling (shwa) binnen het AUTOSAR Adaptive Platform. Ze fungeert als centrale interface voor de overdracht en uitvoering van rekentaken op een geselecteerd doelapparaat (device). Binnen de softwarearchitectuur vervult de klasse de rol van bemiddelaar tussen de toepassende softwarecomponent en de onderliggende uitvoeringsinfrastructuur.

De interactie vindt primair plaats tussen twee systeempartners: de aanroepende applicatie en de geselecteerde hardware-accelerator respectievelijk diens takenwachtrij. Rekenoperaties die aan de applicatiezijde zijn gedefinieerd, worden via de interfaces van ara::shwa::TaskHandler aangenomen en als queue-inzendingen doorgestuurd naar het device [AP_SWS_SHWA_01203]. Dit maakt zowel de afhandeling van afzonderlijke rekenstappen als van dataparallele verwerkingspatronen mogelijk [AP_SWS_SHWA_01204]. Interpretatie: de klasse kapselt vermoedelijk de apparaatspecifieke wachtrijen in, zodat applicatiecomponenten acceleratorbronnen kunnen aansturen zonder gekoppeld te zijn aan hardwarematige details. Vraag (open)

Levenscyclus

De levenscyclus van een instantie van ara::shwa::TaskHandler wordt beheerst door een strikt factory-patroon. De instantiëring vindt uitsluitend plaats via de statische factory-methode Create() [AP_SWS_SHWA_01202]. Aangezien de klasse als final is gedeclareerd, is specialisatie via overerving uitgesloten. Het aangemaakte object wordt verpakt in een ara::core::Result<TaskHandler> geretourneerd, waardoor het slagen van de initialisatie expliciet moet worden gecontroleerd [AP_SWS_SHWA_01202].

Wat betreft concurrency en thread-safety vertoont de klasse gedifferentieerde eigenschappen:

  • Instantiëring: de aanroep van de statische methode Create() is thread-safe (thread-safe) [AP_SWS_SHWA_01202]. Meerdere threads kunnen zodoende gelijktijdig nieuwe handler-instanties aanmaken via het factory-pad.
  • Task-inzending: de methoden voor het verzenden van werkopdrachten, SingleTask [AP_SWS_SHWA_01203] en ParallelFor [AP_SWS_SHWA_01204], zijn uitdrukkelijk als niet-thread-safe (not thread-safe) gespecificeerd. Een afzonderlijke instantie van TaskHandler mag derhalve niet ongecoördineerd vanuit meerdere threads tegelijkertijd worden aangesproken; de synchronisatie is de verantwoordelijkheid van de aanroeper.
  • Uitzonderingsveiligheid: alle methoden van de interface zijn gedeclareerd als noexcept en garanderen uitzonderingsveiligheid (exception safe) [AP_SWS_SHWA_01202], [AP_SWS_SHWA_01203], [AP_SWS_SHWA_01204]. Bij Create() gelden bovendien rollback-semantieken (rollback_semantics) voor het geval de initialisatie mislukt [AP_SWS_SHWA_01202].

Het eigenaarschap blijft bij de toepassende component, die de instantie aanhoudt en vernietigt zodra er geen verdere queue-inzendingen meer nodig zijn.

Gebruikspad

Het typische verloop is onderverdeeld in de fasen aanmaak, opdrachtconfiguratie en taakoverdracht. Eerst vraagt de applicatie via ara::shwa::TaskHandler::Create() een nieuwe instantie aan [AP_SWS_SHWA_01202]. Na succesvolle validatie van de ara::core::Result staat het object gereed voor werkopdrachten.

Vervolgens kiest de applicatie op basis van het verwerkingspatroon de geschikte overdrachtsmethode:

  • Voor individuele rekentaken wordt SingleTask(cfg) aangeroepen, waardoor de als parameter meegegeven task-functie in de queue van het geselecteerde doelapparaat wordt geplaatst [AP_SWS_SHWA_01203].
  • Voor dataparallele verwerkingspatronen is het functietemplate ParallelFor(bufferSize, cfg) beschikbaar [AP_SWS_SHWA_01204]. Hierbij wordt naast de configuratie tevens de buffergrootte (bufferSize) meegegeven om de parallelle verwerking over meerdere data-elementen heen op het acceleratorapparaat te besturen.

Interpretatie: de templateparameter T stelt hierbij vermoedelijk een aanroepbare functie, een lambda of een overeenkomstige taakconfiguratie voor, die de op het device uit te voeren rekenlogica inkapselt. Vraag Q-2fca8604440b44e9 (open)

Verloop van het indienen van tasks met TaskHandlerApplicationTaskHandlerDevice-QueueUse Case: InstanziierungCreate()ara::core::Result<TaskHandler>Use Case: Task-uitvoeringaltEinzelne AufgabeSingleTask(cfg)Queue-EinreichungParallele SchleifeParallelFor(bufferSize, cfg)Queue-Einreichung (Parallel)

Sequentiediagram: interactieketen van de instantiëring tot de inzending van taken in de apparaatwachtrij. Bronnen: [AP_SWS_SHWA_01202], [AP_SWS_SHWA_01203], [AP_SWS_SHWA_01204]

Foutscenario's

De foutafhandeling in ara::shwa::TaskHandler volgt het exceptievrije paradigma (noexcept) van het Adaptive Platform.

Fouttoestanden treden vooral op tijdens de instantiëring:

  • De factory-methode Create() meldt mislukkingen via het foutkanaal in de retourwaarde ara::core::Result [AP_SWS_SHWA_01202].
  • Als concrete foutidentificator is ShwaErrorCode::kRuntime gedefinieerd, wat algemene runtime-fouten bij de objectcreatie signaleert [AP_SWS_SHWA_01202]. Door de gespecificeerde rollback-semantieken is gewaarborgd dat er bij een mislukking geen deels geïnitialiseerde toestanden of resourcelekken ontstaan [AP_SWS_SHWA_01202].

De aanroepen SingleTask [AP_SWS_SHWA_01203] en ParallelFor [AP_SWS_SHWA_01204] leveren geen retourwaarde (void) op en genereren geen exceptions. Aanroepers moeten er daarom voor zorgen dat de handler-instantie geldig is en dat toegangen bij gelijktijdige threads extern worden gesynchroniseerd.

Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie R25-11.

Ledenkaart

Detailweergave

Kies een item in de inhoudsopgave.

Methoden

Create functie

Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.

static ara::core::Result< TaskHandler > Create () noexcept;
ParallelFor functie

Führt die übergebene Task-Funktion innerhalb einer Queue-Einreichung auf dem ausgewählten Device aus.

template <typename T> void ParallelFor (std::size_t bufferSize, T cfg) noexcept;
SingleTask functie

Führt die übergebene Task-Funktion innerhalb einer Queue-Einreichung auf dem ausgewählten Device aus.

template <typename T> void SingleTask (T cfg) noexcept;

Details

functie Create [AP_SWS_SHWA_01202] Upstream: RS_SHWA_00001, RS_SHWA_00007

static ara::core::Result< TaskHandler > Create () noexcept;

Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.

Scopeclass ara::shwa::TaskHandler
Thread Safetythread-safe rollback_semantics
Exception Safetyexception safe
ErrorsShwaErrorCode::k Runtime General runtime error

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

Record
AUTOSAR/AP/record/AP_SWS_SHWA_01202
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_01202@rel:R25-11#9965ecc1
Content hash
9965ecc1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_01202
Status: valid/unmigrated Version: rel:R25-11#a001527a 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_01202@rel:R25-11#a001527a
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

functie ParallelFor [AP_SWS_SHWA_01204] Upstream: RS_SHWA_00001

template <typename T> void ParallelFor (std::size_t bufferSize, T cfg) noexcept;

Führt die übergebene Task-Funktion innerhalb einer Queue-Einreichung auf dem ausgewählten Device aus.

Scopeclass ara::shwa::TaskHandler
Thread Safetynot thread-safe
Exception Safetyexception safe

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

Record
AUTOSAR/AP/record/AP_SWS_SHWA_01204
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_01204@rel:R25-11#e32f1686
Content hash
e32f1686
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_01204
Status: valid/unmigrated Version: rel:R25-11#1ff0ddef 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_01204@rel:R25-11#1ff0ddef
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

functie SingleTask [AP_SWS_SHWA_01203] Upstream: RS_SHWA_00001

template <typename T> void SingleTask (T cfg) noexcept;

Führt die übergebene Task-Funktion innerhalb einer Queue-Einreichung auf dem ausgewählten Device aus.

Scopeclass ara::shwa::TaskHandler
Thread Safetynot thread-safe
Exception Safetyexception safe

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

Record
AUTOSAR/AP/record/AP_SWS_SHWA_01203
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_01203@rel:R25-11#2057e3b2
Content hash
2057e3b2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_01203
Status: valid/unmigrated Version: rel:R25-11#2c1013ce 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_01203@rel:R25-11#2c1013ce
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