DEENESPTFRRUARHIKOZHNL

classe 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] texto ainda não importado 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

Guia do utilizadorGERADO POR IA

Permite a criação e o envio de tarefas computacionais individuais e paralelas para dispositivos aceleradores.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 6d7c7c77c2a9 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite a criação e o envio de tarefas computacionais individuais e paralelas para dispositivos aceleradores.

A classe ara::shwa::TaskHandler serve para a execução de tarefas em hardware acelerador por meio de submissões em fila [AP_SWS_SHWA_01203]. Novas instâncias são criadas de forma thread-safe pelo método factory estático Create(), que retorna erros no ara::core::Result [AP_SWS_SHWA_01202]. Por meio de SingleTask e ParallelFor, passos computacionais individuais ou com paralelismo de dados podem ser transmitidos ao dispositivo-alvo. Enquanto a instanciação é thread-safe, as submissões de tarefas não são thread-safe e exigem sincronização externa em caso de acesso paralelo.

Contexto

Como classe final (final), a classe ara::shwa::TaskHandler faz parte do módulo para aceleração de hardware (shwa) dentro da AUTOSAR Adaptive Platform. Ela atua como interface central para a transmissão e execução de tarefas de cálculo em um dispositivo-alvo (Device) selecionado. Na arquitetura de software, a classe assume o papel de intermediária entre o componente de software aplicador e a infraestrutura de execução subjacente.

A interação ocorre primariamente entre dois parceiros do sistema: a aplicação chamadora e o acelerador de hardware selecionado ou sua fila de tarefas. Operações de cálculo definidas pela aplicação são recebidas pelas interfaces de ara::shwa::TaskHandler e encaminhadas ao dispositivo como submissões em fila [AP_SWS_SHWA_01203]. Isso possibilita tanto a realização de etapas de cálculo individuais quanto de padrões de processamento com paralelismo de dados [AP_SWS_SHWA_01204]. Interpretação: a classe provavelmente encapsula as filas específicas de dispositivo, permitindo que componentes de aplicação controlem recursos de acelerador sem estarem acoplados a detalhes de baixo nível de hardware. Pergunta (aberta)

Ciclo de vida

O ciclo de vida de uma instância de ara::shwa::TaskHandler é controlado por um padrão factory rigoroso. A instanciação ocorre exclusivamente por meio do método factory estático Create() [AP_SWS_SHWA_01202]. Como a classe é declarada como final, uma especialização por herança é excluída. O objeto criado é retornado empacotado em um ara::core::Result<TaskHandler>, o que exige que o sucesso da inicialização seja verificado explicitamente [AP_SWS_SHWA_01202].

Em relação à concorrência e segurança de threads, a classe apresenta propriedades diferenciadas:

  • Instanciação: a chamada do método estático Create() é thread-safe (thread-safe) [AP_SWS_SHWA_01202]. Múltiplas threads podem, portanto, criar novas instâncias de manipulador concorrentemente por meio do caminho factory.
  • Submissão de tarefas: os métodos para transmissão de ordens de trabalho, SingleTask [AP_SWS_SHWA_01203] e ParallelFor [AP_SWS_SHWA_01204], são expressamente especificados como não thread-safe (not thread-safe). Uma única instância de TaskHandler não pode, portanto, ser acessada simultaneamente a partir de múltiplas threads sem coordenação; a sincronização cabe ao chamador.
  • Segurança contra exceções: todos os métodos da interface são declarados como noexcept e garantem segurança contra exceções (exception safe) [AP_SWS_SHWA_01202], [AP_SWS_SHWA_01203], [AP_SWS_SHWA_01204]. Em Create(), aplicam-se também semânticas de rollback (rollback_semantics) caso a inicialização falhe [AP_SWS_SHWA_01202].

A posse permanece com o componente aplicador, que mantém a instância e a destrói assim que não forem mais necessárias submissões em fila adicionais.

Caminho de utilização

O fluxo típico divide-se nas fases de criação, configuração da ordem e transmissão de tarefas. Primeiramente, a aplicação solicita uma nova instância através de ara::shwa::TaskHandler::Create() [AP_SWS_SHWA_01202]. Após a validação bem-sucedida do ara::core::Result, o objeto está pronto para ordens de trabalho.

Em seguida, a aplicação decide sobre o método de transmissão apropriado com base no padrão de processamento:

  • Para tarefas computacionais individuais, SingleTask(cfg) é chamado, enfileirando a função de tarefa passada como parâmetro na fila do dispositivo-alvo selecionado [AP_SWS_SHWA_01203].
  • Para padrões de processamento com paralelismo de dados, o template de função ParallelFor(bufferSize, cfg) está disponível [AP_SWS_SHWA_01204]. Nele, além da configuração, o tamanho do buffer (bufferSize) também é passado para controlar a execução paralela através de múltiplos elementos de dados no dispositivo acelerador.

Interpretação: o parâmetro de template T provavelmente representa uma função invocável, uma expressão lambda ou uma configuração de tarefa correspondente que encapsula a lógica de cálculo a ser executada no dispositivo. Pergunta Q-2fca8604440b44e9 (aberta)

Fluxo de envio de tarefas com TaskHandlerApplicationTaskHandlerDevice-QueueUse Case: InstanziierungCreate()ara::core::Result<TaskHandler>Use Case: Execução da tarefaaltEinzelne AufgabeSingleTask(cfg)Queue-EinreichungParallele SchleifeParallelFor(bufferSize, cfg)Queue-Einreichung (Parallel)

Diagrama de sequência: cadeia de interação desde a instanciação até o envio de tarefas para a fila do dispositivo. Fontes: [AP_SWS_SHWA_01202], [AP_SWS_SHWA_01203], [AP_SWS_SHWA_01204]

Cenários de erro

O tratamento de erros em ara::shwa::TaskHandler segue o paradigma livre de exceções (noexcept) da Adaptive Platform.

Estados de erro ocorrem principalmente durante a instanciação:

  • O método factory Create() reporta falhas através do canal de erro no valor de retorno ara::core::Result [AP_SWS_SHWA_01202].
  • Como identificador de erro concreto está definido ShwaErrorCode::kRuntime, que sinaliza erros gerais de tempo de execução durante a criação do objeto [AP_SWS_SHWA_01202]. As semânticas de rollback especificadas asseguram que, em caso de falha, não surjam estados parcialmente inicializados ou vazamentos de recursos [AP_SWS_SHWA_01202].

As chamadas SingleTask [AP_SWS_SHWA_01203] e ParallelFor [AP_SWS_SHWA_01204] não retornam nenhum valor (void) e não disparam exceções. Os chamadores devem, portanto, certificar-se de que a instância do manipulador seja válida e que os acessos sejam sincronizados externamente em caso de threads concorrentes.

Este texto foi gerado por uma IA com base na especificação AUTOSAR R25-11.

Mapa de membros

Vista de detalhes

Selecione uma entrada no índice.

Métodos

Create função

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

static ara::core::Result< TaskHandler > Create () noexcept;
ParallelFor função

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 função

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

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

Detalhes

função 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#99b0475d
Content hash
99b0475d
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

função 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#336e1634
Content hash
336e1634
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

função 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#bc761435
Content hash
bc761435
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