DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_EXP_ParallelProcessingGuidelines FIG-d82699558e4ca64c 839 × 544 px 5 Release(s)

Figure 5.2: Accelerator-model example

SHA-256 Inhalts-Fingerabdruck: d82699558e4ca64c7cdf3a5bc047e90a84cecbcd80541b63e588333f26d024d1
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07

1. Diagrammtyp & Architektur-Kontext

  • Diagrammtyp: Kombiniertes Prozess-, Schichten- und Hardware-Architekturdiagramm (Combined Process and Physical Architectural View) nach AUTOSAR Adaptive Platform (AP).
  • Architektur-Kontext: AUTOSAR AP (AUTOSAR_AP_EXP_ParallelProcessingGuidelines, Kap. 5.2.2 Accelerator-model).
  • Technischer Zweck: Spezifikation des Beschleunigermodells (Offloading-Architektur via OpenCL, CUDA oder OpenVX) zur Entkopplung von rechenintensiver Datenverarbeitung (z. B. Objekterkennung) von der Standard-CPU. Es kapselt hardwarenahe Parallelisierungs-Frameworks hinter standardisierten Service-Schnittstellen (ara::com) und definiert die vertikale Schichtung vom Applikationsprozess bis zu den heterogenen Recheneinheiten (CPUs vs. GPGPU).

2. Komponenten, Entitäten & Schnittstellen

Entitäten & Klassifikation (gemäß Diagrammlegende)
  • ADAS AA1 (OS process): Adaptive Application (Client-Prozess im POSIX-User-Space), die funktionale Assistenzfunktionen ausführt und Erkennungsergebnisse konsumiert.
  • Object Detection server (OS process): Spezifischer Adaptive Service-Provider-Prozess (Server-Kapselung).
    • Thread (Thread): Ausführungskontext innerhalb des Server-Prozesses zur Verwaltung von Anfragen, Datentransfers und Synchronisation.
    • OpenCL kernels (Framework specific module): GPU-Programmcodes/Rechenkerne; werden vom Server-Prozess gehalten und in die Recheneinheit geladen (loaded).
  • OpenCL (Framework/engine): Laufzeitumgebung/User-Space-Bibliothek (OpenCL Runtime Framework) zur Verwaltung von Compute-Contexts, Command Queues und Memory Buffers.
  • Accelerator device driver (OS specific module): Betriebssystemspezifischer Treiber; je nach OS-Architektur (Monolithisch vs. Microkernel) als Kernel-Modul oder eigenständiger Treiber-Prozess realisiert.
  • GPGPU / CPUs (Hardware): Heterogene Zielhardware: Multi-Core Host-CPUs für Steuerungs- und OS-Aufgaben sowie GPGPU (General-Purpose Graphics Processing Unit) als Beschleuniger.
Schnittstellen (Interfaces) & Beziehungen
  • C++ generated service I/F: Service-orientierte Schnittstelle (ara::com Proxy/Skeleton bzw. C++Bindings) zwischen Client ADAS AA1 und Object Detection server. Entkoppelt Applikationslogik vollständig vom Beschleuniger.
  • OpenCL library I/F: Standardisierte API (Host-API) zwischen dem Server-Thread und der OpenCL-Framework-Bibliothek.
  • OS specific device driver I/F: Systemschnittstelle (z. B. POSIX ioctl, System Calls oder IPC) zwischen OpenCL-User-Space-Runtime und dem Beschleuniger-Treiber.
  • HW specific hardware-software I/F: Physische Anbindung (PCIe, Shared Memory, DMA-Controller, MMIO-Register) zwischen Treiber und GPGPU bzw. Host-CPUs.

3. Dynamisches Verhalten & Sequenzablauf

  1. Initialisierungs- & Ladephase:
    • Der Object Detection server initialisiert den OpenCL-Kontext und die Command Queues über die OpenCL library I/F.
    • Die vorkompilierten OpenCL kernels werden geladen (loaded) und über den Treiber auf die GPGPU geflasht/alloziert.
  2. Service Request (asynchron/synchron):
    • ADAS AA1 triggert eine Verarbeitungsanforderung über das C++ generated service I/F (ara::com-Methodenaufruf oder Event-Bereitstellung mit Bild-/Sensordaten).
  3. Offloading & Execution:
    • Der Server-Thread serialisiert/mapped die Eingangsdaten in Beschleuniger-kompatible Puffer (Device Memory / Shared Virtual Memory).
    • Übergabe der Ausführungsbefehle über die OpenCL library I/F an den Beschleunigertreiber (OS specific device driver I/F).
    • Der Treiber stößt per DMA/Registerzugriff die parallele Kernel-Abarbeitung auf der GPGPU an. Die Host-CPUs werden während der GPU-Kernel-Ausführung entlastet.
  4. Synchronisation & Response:
    • Nach Kernel-Beendigung signalisiert die GPGPU (typischerweise via Interrupt) die Fertigstellung an den Accelerator device driver.
    • Die OpenCL-Engine benachrichtigt den Server-Thread (Event-Completion).
    • Der Object Detection server extrahiert die Ergebnisse und liefert sie über das C++ generated service I/F zurück an ADAS AA1.

4. Normative Relevanz & Entwickler-Hinweise

  • Kapselung & Safety-Zonierung:
    • Adaptive Applications (ADAS AA1) dürfen keine direkten Abhängigkeiten auf herstellerspezifische Beschleuniger-APIs (OpenCL, CUDA, ROCm) besitzen. Sämtliche Hardware-Beschleunigung ist in dedizierten Server-Prozessen hinter AUTOSAR-Services zu kapseln.
    • Dies ermöglicht unabhängiges Lifecycle-Management (Execution Management) und erleichtert die ASIL-Dekomposition (z. B. QM-Beschleuniger hinter ASIL-B/D-Service-Wrapper).
  • Treiber- & OS-Konfiguration:
    • Der Accelerator device driver muss zur Plattform-Strategie passen: Bei Microkernel-Systemen (z. B. QNX Neutrino) läuft der Treiber oft als User-Space Resource Manager, bei Linux (RT-Preempt) als Kernel-Modul. Echtzeit-Prioritäten müssen zwischen Server-Thread und Treiber-Interrupts strikt abgestimmt sein.
  • Determinismus & Kernel-Kompilierung:
    • Just-In-Time (JIT) Kompilierung von OpenCL-Kernels zur Laufzeit im Fahrzeug ist unzulässig. Kernels müssen als vorkompilierte Binaries (Offline-Compilation, z. B. SPIR-V oder vendorspezifische Binärformate) vorliegen, um Startzeit- und Laufzeit-Jitter zu eliminieren.
  • Speichereffizienz (Zero-Copy):
    • Datentransfers zwischen Server-Prozess, Host-Memory und GPGPU-Memory stellen den Haupt-Flaschenhals dar. Entwickler müssen Shared Memory (IPC) auf ara::com-Ebene und Zero-Copy-Mechanismen (Unified Memory / Shared Virtual Memory SVM) auf OpenCL-Ebene einsetzen, um redundante memcpy-Zyklen zu verhindern.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Begleitender Spezifikationstext:

Design guidelines for using parallel processing technologies on Adaptive Platform AUTOSAR AP R25-11 5.2.2 Accelerator-model The Parallel processing library/languages layer interacts with the parallel processing hardware in different ways. There are two general models. One is accelerator-model, where the parallel processing library/language calls underneath some form of device drivers that directly controls the parallel processing hardware. The device driver, depending upon the design of OS used, maybe another process or some form of kernel module that executes in the context of OS kernel. The examples of this accelerator model include OpenCL/CUDA, OpenVX, etc. Figure 5.2 shows the combined process and physical architectural views for OpenCL based parallel processing. Figure 5.2: Accelerator-model example 5.2.3 CPU/co-processor-model The other model is CPU/co-processor-model, where the parallel processing is executed directly by the CPUs with or without co-processor support. The most popular example is a threading model, which uses multiple POSIX threads to parallelize the processing. This can be fully handwritten, directive-based like OpenMP, or use some other vendor specific semi/full parallelization compiler technologies. Furthermore, there may be support for utilizing the specialized co-processor instructions, also may be manual or semi-automatic. Figure 5.3 shows the combined process and physical architectural views for threading-based (like POSIX threads) parallel proces

Vorkommen in AUTOSAR-Releases (6)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R21-11 AUTOSAR_EXP_ParallelProcessingGuidelines S. 12 5.2 Figure 5.2: Accelerator-model example
R21-11 AUTOSAR_EXP_ParallelProcessingGuidelines S. 12 5.2 Figure 5.2: Accelerator-model example
R22-11 AUTOSAR_EXP_ParallelProcessingGuidelines S. 12 5.2 Figure 5.2: Accelerator-model example
R23-11 AUTOSAR_AP_EXP_ParallelProcessingGuidelines S. 13 5.2 Figure 5.2: Accelerator-model example
R24-11 AUTOSAR_AP_EXP_ParallelProcessingGuidelines S. 13 5.2 Figure 5.2: Accelerator-model example
R25-11 AUTOSAR_AP_EXP_ParallelProcessingGuidelines S. 13 5.2 Figure 5.2: Accelerator-model example