DEENESPTFRRUARHIKOZHNL

класс 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] текст ещё не импортирован 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

Руководство пользователяСОЗДАНО ИИ

Обеспечивает создание и отправку одиночных, а также параллельных вычислительных задач на устройства-ускорители.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 6d7c7c77c2a9 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Обеспечивает создание и отправку одиночных, а также параллельных вычислительных задач на устройства-ускорители.

Класс ara::shwa::TaskHandler служит для выполнения задач на аппаратных ускорителях через отправку в очередь [AP_SWS_SHWA_01203]. Новые экземпляры создаются потокобезопасным образом через статический фабричный метод Create(), возвращающий ошибки в ara::core::Result [AP_SWS_SHWA_01202]. Через SingleTask, а также ParallelFor на целевое устройство могут передаваться одиночные или параллельные по данным вычислительные шаги. Хотя инстанцирование потокобезопасно, отправка задач не является потокобезопасной и требует внешней синхронизации при параллельном доступе.

Контекст

Класс ara::shwa::TaskHandler как финальный класс (final) является частью модуля аппаратного ускорения (shwa) в рамках AUTOSAR Adaptive Platform. Он функционирует как центральный интерфейс для передачи и выполнения вычислительных задач на выбранном целевом устройстве (Device). В структуре программной архитектуры класс выполняет роль посредника между использующим программным компонентом и базовой инфраструктурой исполнения.

Взаимодействие происходит преимущественно между двумя системными участниками: вызывающим приложением и выбранным аппаратным ускорителем либо его очередью задач. Вычислительные операции, определенные приложением, принимаются через интерфейсы ara::shwa::TaskHandler и пересылаются в устройство в виде постановок в очередь [AP_SWS_SHWA_01203]. Это позволяет выполнять как отдельные вычислительные шаги, так и шаблоны обработки с параллелизмом по данным [AP_SWS_SHWA_01204]. Интерпретация: класс, по-видимому, инкапсулирует специфичные для устройства очереди, чтобы компоненты приложения могли управлять ресурсами ускорителя без привязки к низкоуровневым деталям аппаратного обеспечения. Вопрос (открытый)

Жизненный цикл

Жизненный цикл экземпляра ara::shwa::TaskHandler контролируется строгим паттерном «фабрика». Инстанцирование осуществляется исключительно через статический фабричный метод Create() [AP_SWS_SHWA_01202]. Поскольку класс объявлен как final, специализация через наследование исключена. Созданный объект возвращается упакованным в ara::core::Result<TaskHandler>, вследствие чего успешность инициализации должна проверяться явно [AP_SWS_SHWA_01202].

В отношении параллелизма и потокобезопасности класс обладает дифференцированными свойствами:

  • Инстанцирование: вызов статического метода Create() потокобезопасен (thread-safe) [AP_SWS_SHWA_01202]. Таким образом, несколько потоков могут параллельно создавать новые экземпляры обработчика через фабричный путь.
  • Отправка задач: методы передачи рабочих заданий, SingleTask [AP_SWS_SHWA_01203] и ParallelFor [AP_SWS_SHWA_01204], явно специфицированы как непотокобезопасные (not thread-safe). Следовательно, к отдельному экземпляру TaskHandler нельзя нескоординированно обращаться из нескольких потоков одновременно; синхронизация возлагается на вызывающую сторону.
  • Безопасность исключений: все методы интерфейса объявлены как noexcept и гарантируют безопасность исключений (exception safe) [AP_SWS_SHWA_01202], [AP_SWS_SHWA_01203], [AP_SWS_SHWA_01204]. В Create() также применяется семантика отката (rollback_semantics) в случае сбоя инициализации [AP_SWS_SHWA_01202].

Права владения остаются за использующим компонентом, который удерживает экземпляр и уничтожает его, как только постановка новых задач в очередь больше не требуется.

Путь использования

Типичный рабочий процесс подразделяется на этапы создания, конфигурации задания и передачи задачи. Сначала приложение запрашивает новый экземпляр через ara::shwa::TaskHandler::Create() [AP_SWS_SHWA_01202]. После успешной валидации ara::core::Result объект готов к приему рабочих заданий.

Затем приложение выбирает подходящий метод передачи в зависимости от шаблона обработки:

  • Для индивидуальных вычислительных задач вызывается SingleTask(cfg), в результате чего переданная в качестве параметра функция задачи ставится в очередь выбранного целевого устройства [AP_SWS_SHWA_01203].
  • Для параллельных по данным шаблонов обработки доступен шаблон функции ParallelFor(bufferSize, cfg) [AP_SWS_SHWA_01204]. При этом, помимо конфигурации, дополнительно передается размер буфера (bufferSize) для управления параллельной обработкой по нескольким элементам данных на устройстве-ускорителе.

Интерпретация: параметр шаблона T, вероятно, представляет собой вызываемую функцию, лямбда-выражение или соответствующую конфигурацию задачи, которая инкапсулирует исполняемую логику вычислений на Device. Вопрос Q-2fca8604440b44e9 (открытый)

Последовательность передачи задачи с помощью TaskHandlerApplicationTaskHandlerDevice-QueueUse Case: InstanziierungCreate()ara::core::Result<TaskHandler>Use Case: Выполнение задачиaltEinzelne AufgabeSingleTask(cfg)Queue-EinreichungParallele SchleifeParallelFor(bufferSize, cfg)Queue-Einreichung (Parallel)

Диаграмма последовательности: цепочка взаимодействия от инстанцирования до постановки задач в очередь устройства. Источники: [AP_SWS_SHWA_01202], [AP_SWS_SHWA_01203], [AP_SWS_SHWA_01204]

Сценарии ошибок

Обработка ошибок в ara::shwa::TaskHandler следует парадигме без использования исключений (noexcept) Adaptive Platform.

Состояния ошибок возникают преимущественно во время инстанцирования:

  • Фабричный метод Create() сообщает о неудачах через канал ошибок в возвращаемом значении ara::core::Result [AP_SWS_SHWA_01202].
  • В качестве конкретного идентификатора ошибки определен ShwaErrorCode::kRuntime, сигнализирующий об общих ошибках времени выполнения при создании объекта [AP_SWS_SHWA_01202]. Благодаря заданной семантике отката гарантируется, что в случае сбоя не возникнет частично инициализированных состояний или утечек ресурсов [AP_SWS_SHWA_01202].

Вызовы SingleTask [AP_SWS_SHWA_01203] и ParallelFor [AP_SWS_SHWA_01204] не возвращают значения (void) и не возбуждают исключений. Поэтому вызывающие стороны должны убедиться, что экземпляр обработчика действителен, а обращения при параллельных потоках синхронизированы извне.

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.

Карта членов

Подробный вид

Выберите элемент в оглавлении.

Методы

Create функция

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

static ara::core::Result< TaskHandler > Create () noexcept;
ParallelFor функция

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 функция

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

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

Подробности

функция 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#5ca4efe8
Content hash
5ca4efe8
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

функция 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#c7890425
Content hash
c7890425
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

функция 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#b6d058a1
Content hash
b6d058a1
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