DEENESPTFRRUARHIKOZHNL

пространство имён ara::shwa

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.

160 API-Records in Kapitel 8: 18 Klassen, 120 Funktionen, 4 Enumerationen und 3 Typ-Aliasse.

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

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

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

Пространство имен ara::shwa предоставляет интерфейсы для безопасного аппаратного ускорения (Safe Hardware Acceleration) и позволяет целенаправленно переносить параллельные вычислительные задачи на такие устройства, как GPU или CPU, через целевой формат Target ([AP_SWS_SHWA_00102]). Приложения выбирают ускорители с помощью селекторов, создают монопольно управляемые очереди выполнения и контролируют доступ к памяти через акцессоры буферов. Ключевым граничным условием является строгая модель владения с некопируемыми ресурсами, а также безисключительная сигнализация об ошибках через ShwaErrorCode ([AP_SWS_SHWA_01301]).

Контекст

Пространство имен ara::shwa (Safe Hardware Acceleration) в составе AUTOSAR Adaptive Platform предоставляет интерфейсы для переноса ресурсоемких задач на специализированные аппаратные ускорители. Модуль обеспечивает интеграцию различных типов ускорителей, таких как графические процессоры (GPU), цифровые сигнальные процессоры или выделенные центральные процессоры (CPU).

Определение системного окружения выполняется с помощью класса Platform, который определяет доступные на блоке управления аппаратные платформы и перечисляет соответствующие экземпляры Device. Выбор подходящего устройства может управляться динамически или статически через специализированные селекторы: DeviceSelector действует как вызываемый функциональный объект для приоритизации доступных модулей на основе целочисленного ранга, тогда как CpuSelector, GpuSelector и AcceleratorSelector адресно обращаются к конкретным исполнительным модулям. Текущее рабочее состояние ускорителя отображается через перечисление DeviceStatus ([AP_SWS_SHWA_00103]).

За параллельное выполнение вычислительных операций отвечает Queue. Задачи вычислений инкапсулируются через TaskHandler, причем место выполнения определяется через Target ([AP_SWS_SHWA_00102]) по выбору на ускорителе (kDevice) или на хост-CPU (kHostTask). Области памяти для входных и выходных данных выделяются через Buffer с использованием указания размерности Range. Доступ к этим буферам регулируется объектами Accessor, которые ограничивают режим доступа через AccessMode ([AP_SWS_SHWA_00101]).

context Application Application Platform Platform Application->Platform fragt ab DeviceSelector DeviceSelector Application->DeviceSelector использует Queue Queue Application->Queue besitzt Buffer Buffer Application->Buffer besitzt Device Device Platform->Device listet DeviceSelector->Device выбирает Queue->Device bindet TaskHandler TaskHandler Queue->TaskHandler erzeugt Event Event Queue->Event erzeugt Range Range Buffer->Range beschreibt Accessor Accessor Buffer->Accessor erzeugt

Контекстная диаграмма: взаимодействие основных классов для выбора оборудования, управления памятью и выполнения задач. Источники: [AP_SWS_SHWA_00101], [AP_SWS_SHWA_00102], [AP_SWS_SHWA_00103]

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

Модель ресурсов и жизненного цикла в ara::shwa строго разделяет объекты, владеющие ресурсами, описательные дескрипторы (handles) и зависимые от очередей компоненты:

  • Классы, владеющие ресурсами: Queue, Buffer и Accessor монопольно управляют аппаратными ресурсами и областями памяти. Они являются некопируемыми (not copyable) и обязательно должны управляться через std::unique_ptr. Дальнейшая передача разрешена исключительно через семантику перемещения (move-семантику).
  • Описательные дескрипторы и вспомогательные классы: Platform, Device, DeviceMonitor, Id, Range и PropertyList не владеют аппаратными ресурсами монопольно. Они спроектированы копируемыми. Экземпляр Device представляет собой лишь интерфейс доступа к устройству, однако не контролирует его монопольно. Интерпретация: инициализация очереди выполнения (Queue) привязывается к конкретному, ранее выбранному Device, поскольку Queue монопольно управляет ресурсами. Вопрос Q-c38811a811f133d0 (открытый)
  • Зависимые компоненты: классы Event (для синхронизации) и TaskHandler (для обработки задач) могут создаваться исключительно внутри Queue; вне контекста очереди они не имеют функционального значения.

Жизненный цикл устройства отражается в DeviceStatus ([AP_SWS_SHWA_00103]): помимо готового к работе состояния kReady, устройство может быть обозначено как недоступное (kNotAccesible), сбойное (kFailure) или неизвестное (kUnknown). Интерпретация: изменения состояния устройства между kReady, kNotAccesible и kFailure распознаются во время выполнения через вспомогательные классы, такие как DeviceMonitor, или платформу. Вопрос Q-8fc0dc95534dc8bc (открытый)

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

Типичное использование ara::shwa для выполнения ускоренного вычисления подразделяется на пять шагов:

  1. Выбор платформы и устройства: приложение запрашивает через Platform доступные аппаратные платформы и связанные с ними экземпляры Device. Селектор (такой как DeviceSelector, GpuSelector или CpuSelector) определяет наиболее подходящее устройство, чье DeviceStatus ([AP_SWS_SHWA_00103]) имеет статус kReady.
  2. Создание экземпляра очереди: для выбранного Device создается Queue, которая удерживается как std::unique_ptr.
  3. Выделение и подготовка памяти: для входных и выходных данных через Range создается Buffer с требуемыми размерностями. Для заполнения или анализа приложение запрашивает Accessor, при этом режим доступа через AccessMode ([AP_SWS_SHWA_00101]) объявляется как kRead, kWrite или kReadWrite.
  4. Регистрация и выполнение задачи: внутри Queue создается TaskHandler. Запуск выполнения инициируется, при этом через Target ([AP_SWS_SHWA_00102]) определяется, выполняется ли задача на ускорителе (kDevice) или на хосте (kHostTask).
  5. Синхронизация: Queue предоставляет Event, с помощью которого хост-приложение отслеживает асинхронное завершение вычислений на аппаратном ускорителе и синхронизирует сверку данных.
Путь использования для обработки задач в ara::shwaПриложениеPlatformDeviceSelectorQueueBufferЗапросить доступные устройстваListe von Device-ObjektenВыбрать устройствоВыбранное DeviceИнстанцировать очередь для DeviceСоздать буфер с RangeЗапросить Accessor с AccessModeAccessor bereitstellenПередать TaskHandler с TargetСоздать событие для синхронизации

Диаграмма последовательности: процесс от опроса платформы через выделение буфера до синхронизированного выполнения. Источники: [AP_SWS_SHWA_00101], [AP_SWS_SHWA_00102], [AP_SWS_SHWA_00103]

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

Программный интерфейс ara::shwa спроектирован без использования исключений (exception-free). Состояния ошибок возвращаются синхронно через ara::core::ErrorCode. Создание кодов ошибок осуществляется через фабричную функцию MakeErrorCode ([AP_SWS_SHWA_01312]) со ссылкой на домен ошибок GetShwaDomain ([AP_SWS_SHWA_01311]). Если архитектура приложения предусматривает модель обработки ошибок на основе исключений, код ошибки может быть преобразован в ShwaException и выброшен.

Перечисление ShwaErrorCode ([AP_SWS_SHWA_01301]) определяет стандартизированные причины ошибок:

  • Проблемы с памятью и доступом: если выделение оперативной памяти завершается неудачей, это приводит к kMemoryNotAllocated. Если целостность данных буфера не может быть сохранена, сообщается о kIntegrityCorrupted. Недопустимые режимы доступа или сбойные операции над объектами Accessor приводят к kInvalidAccessMode или kAccessorFailure соответственно.
  • Ошибки выполнения и синхронизации: если выполнение задачи на целевом устройстве завершается сбоем, сигнализируется kTaskExecutionFailure. Недопустимые операции над объектами синхронизации приводят к kEventInvalidOperation, тогда как заблокированные ресурсы вызывают kResourceBusy. При превышении сконфигурированного времени выполнения возвращается kTimedOut.
  • Недопустимые параметры и состояния объектов: вызов методов на разрушенных или недействительных объектах приводит к kInvalidObject. Недопустимые индексы или параметры отклоняются через kInvalidIndex или kInvalidParameter соответственно. Неподдерживаемые функции сообщают о kFeatureNotSupported, тогда как общие ошибки фиксируются через kRuntime.

Для обработки ошибок, возникающих во время асинхронных вычислений на ускорителе, используется класс ErrorHandler.

Этот путеводитель основан исключительно на спецификации для ara::shwa в AUTOSAR R25-11.

Карта тем

KI-gestützte Gruppierung auf Basis der Records und Spezifikationsauszüge; keine Gliederung aus der AUTOSAR-Spezifikation.

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

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

Geräteauswahl

AcceleratorSelector manages accelerator selection for operations on HWA if available.

CpuSelector класс

CpuSelector manages CPU selection for operations on HWA if available Allows to get a device from any supported backends for which the device type is CPU.

DeviceSelector класс

Class allowing to choose the most appropriate device of the available ones. This is a callable object taking a device reference and returning an integer rank. One of the device with the highest non-negative value is selected.

GpuSelector класс

GpuSelector manages GPU selection for operations on HWA if available Select a device from any supported backends for which the device type is GPU.

Geräteabstraktion

Device класс

Device class represents HWA device. Provides access to the device but not controlling it. Designed as copyable since not owning resources.

DeviceMonitor класс

DeviceMonitor API class. Designed as copyable since not owning resources.

Id класс

Id API class. Designed as copyable since not owning resources.

Platform класс

Platform class is responsible for extracting different HWA platforms available for current application and listing Devices bind to each platform. Designed as copyable since not owning resources.

DeviceStatus перечисление

Die Enumeration definiert die folgenden standardisierten Werte.

enum class DeviceStatus : std::uint32_t {...};

Speicherzugriff

Accessor класс

Accessor manages read and write access to allocated memory by Buffer. Designed as not copyable, since it’s owning resources. Intended to be managed exclusively by std::unique_ptr, which may be moved. ≙ std::unique_ptr

Buffer класс

Buffer manages memory allocation for operations on the host or/and HWA. Designed as not copyable, since it’s owning resources. Intended to be managed exclusively by std::unique_ptr, which may be moved. ≙ std::unique_ptr

Range класс

Defines size of Buffer for one, two or three dimensions. Designed as copyable since not owning resources.

AccessMode перечисление

Die Enumeration definiert die folgenden standardisierten Werte.

enum class AccessMode : std::uint32_t {...};
Target перечисление

Die Enumeration definiert die folgenden standardisierten Werte.

enum class Target : std::uint32_t {...};

Auftragsausführung

Event класс

Event class helps to manage task execution synchronization between HWA and Host application. Can be created only inside of the Queue otherwise it’s meaningless.

Queue класс

Queue API provides the functionality for parallel processing on selected Device. Designed as not copyable, since it’s owning resources. Intended to be managed exclusively by std::unique_ ptr, which may be moved. ≙ std::unique_

TaskHandler класс

Handles tasks execution on the selected Device Can be created only inside of the Queue otherwise it’s meaningless.

Fehlerbehandlung

ErrorHandler класс

ErrorHandler manages asynchronous error handling for operations on HWA.

ShwaErrorDomain класс

Defines the error domain for Safe Hardware Acceleration.

ShwaException класс

Exception type could be thrown by application or other FC using Safe Hardware Acceleration. Safe Hardware Acceleration API is exception free and can only return an ErrorCode, but user code can transform this error to exception and throw if it’s alligned with system error handling architecture.

GetShwaDomain функция

Liest die durch die Signatur bezeichnete Information oder Eigenschaft aus dem Objekt.

constexpr const ara::core::ErrorDomain & GetShwaDomain () noexcept;
MakeErrorCode функция

Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.

constexpr ara::core::ErrorCode MakeErrorCode (ShwaErrorCode code, ara::core::ErrorDomain::SupportDataType data) noexcept;
ShwaErrorCode перечисление

Die Enumeration definiert die folgenden standardisierten Werte.

enum class ShwaErrorCode : ara::core::ErrorDomain::CodeType {...};

Herstellereigenschaften

PropertyList класс

Property List class is designed to enable vendor specific SHWA functionality extension and adjustment. Properties are not standardized and can be defined by Vendor. Class using Property list is obliged to have HasProperty() and GetProperty() methods defined.

Перечисления

перечисление AccessMode [AP_SWS_SHWA_00101] Upstream: RS_SHWA_00017

enum class AccessMode : std::uint32_t {...};

Die Enumeration definiert die folgenden standardisierten Werte.

Werte

  • kRead — Nur-Lesen-Modus.
  • kWrite — Nur-Schreiben-Modus.
  • kReadWrite — Lese-/Schreibmodus.

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

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00101
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00101@rel:R25-11#5c880d87
Content hash
5c880d87
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00101
Status: valid/unmigrated Version: rel:R25-11#08a7ea1b 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_00101@rel:R25-11#08a7ea1b
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

перечисление DeviceStatus [AP_SWS_SHWA_00103] Upstream: RS_SHWA_00004

enum class DeviceStatus : std::uint32_t {...};

Die Enumeration definiert die folgenden standardisierten Werte.

Werte

  • kReady (= 0) — Device ist für die Task-Ausführung bereit.
  • kNotAccesible (= 1) — Device ist nicht zugänglich.
  • kFailure (= 2) — Device im Fehlerzustand.
  • kUnknown (= 255) — Status kann nicht bestimmt werden.

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

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00103
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00103@rel:R25-11#054f895e
Content hash
054f895e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00103
Status: valid/unmigrated Version: rel:R25-11#41762982 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_00103@rel:R25-11#41762982
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

перечисление Target [AP_SWS_SHWA_00102] Upstream: RS_SHWA_00001, RS_SHWA_00017

enum class Target : std::uint32_t {...};

Die Enumeration definiert die folgenden standardisierten Werte.

Werte

  • kDevice — Task läuft auf dem Gerät beziehungsweise Beschleuniger.
  • kHostTask — Task läuft auf dem Host (CPU).

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

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

перечисление ShwaErrorCode [AP_SWS_SHWA_01301] Upstream: RS_AP_00122, RS_AP_00125, RS_AP_00127, RS_AP_00149

enum class ShwaErrorCode : ara::core::ErrorDomain::CodeType {...};

Die Enumeration definiert die folgenden standardisierten Werte.

Werte

  • kRuntime (= 1) — allgemeiner Laufzeitfehler.
  • kTaskExecutionFailure (= 2) — Fehler bei der Task-Ausführung.
  • kMemoryNotAllocated (= 3) — Speicherallokation fehlgeschlagen.
  • kIntegrityCorrupted (= 4) — Integrität eines Buffer-Speichers nicht herstellbar.
  • kResourceBusy (= 5) — Ressource ist belegt.
  • kInvalidAccessMode (= 6) — Zugriffsmodus ist unzulässig.
  • kAccessorFailure (= 7) — Accessor-Nutzung oder -Erzeugung fehlgeschlagen.
  • kEventInvalidOperation (= 8) — unzulässige Event-Operation.
  • kFeatureNotSupported (= 9) — Feature wird nicht unterstützt.
  • kInvalidIndex (= 10) — Index ist ungültig.
  • kInvalidParameter (= 11) — ungültiger API-Parameter.
  • kInvalidObject (= 12) — ungültiges oder zerstörtes Objekt verwendet.
  • kTimedOut (= 13) — Operation überschritt die Zeitgrenze.

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

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

Документация свободных функций

функция GetShwaDomain [AP_SWS_SHWA_01311] Upstream: RS_AP_00119, RS_AP_00120, RS_AP_00159

constexpr const ara::core::ErrorDomain & GetShwaDomain () noexcept;

Liest die durch die Signatur bezeichnete Information oder Eigenschaft aus dem Objekt.

Thread Safetythread-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_01311
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_01311@rel:R25-11#e9e1bd01
Content hash
e9e1bd01
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_01311
Status: valid/unmigrated Version: rel:R25-11#733e648e 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_01311@rel:R25-11#733e648e
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

функция MakeErrorCode [AP_SWS_SHWA_01312] Upstream: RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00135

constexpr ara::core::ErrorCode MakeErrorCode (ShwaErrorCode code, ara::core::ErrorDomain::SupportDataType data) noexcept;

Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.

Thread Safetythread-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_01312
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_01312@rel:R25-11#3a10e05b
Content hash
3a10e05b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_01312
Status: valid/unmigrated Version: rel:R25-11#a5d8ab39 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_01312@rel:R25-11#a5d8ab39
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