Obstacles Detection and Avoidance System (ODAS)
A short video demonstrating data collected by ODAS sensors installed on the train nose and the analysis performed on them by Sensor Data Fusion and AI Analytics components.
Model-to-code transformations and parallel and heterogeneous execution
The demo shows (1) the extensions to AMALTHEA models needed to exploit parallelism, heterogeneous execution, function variants and function replication, (2) the model-to-code transformations that translate AMALTHEA models into parallel OpenMP code, (3) the mechanisms compile the generated code and the Task Dependency Graph generated by the compiler to optimize performance and predictability of OpenMP applications, as well as to communicate the different analysis tools, and (4) the results of parallel execution with ROS2 and OpenMP for the AMPERE PCC use case in the NVIDIA Jetson AGX Xavier.
Multi-Criteria Optimizer for DAG-based Applications
The demo shows (1) the command-line interface of the optimization tool, made of several options to load the software model, i.e., the application to be optimized, and the hardware model, i.e., the platform on which the application runs, (2) an example of usage of the options to load a DAG-based application, (3) the optimization of the PCC component of the AMPERE automotive use case starting from its task dependency graph (TDG) enriched with timing and power consumption information in the form of JSON files, to obtain the configuration with the minimum power consumption on the Xilinx UltraScale+ ZCU102 board, (4) the optimization of the PCC component on the Xilinx UltraScale+ ZCU102 board to obtain the configuration with the maximum robustness under a given power consumption budget, leveraging the FPGA accelerator, (5) the visualization of the configuration as a PDF file, produced as output by the optimizer, (6) the visualization of the textual configuration as YAML file, produced as output by the optimizer, to be given as input to the RTDAG application of the AMPERE toolchain for the execution on the platform.
Multi-criteria optimization pipeline
The video demonstrates the use of the tools of the multi-criteria optimization flow. It provides information on how code with variants is generated from the models, and how to configure and execute the energy and timing profiling phase of the different variants and configurations. It also provides a short description of the final optimization phase of the flow.
Validating Execution of Optimized Real-Time DAGs on the Target Platforms
The demo shows how the RTDag tool developed in the AMPERE can be used to validate the configuration provided in output by the MIQCP Optimizer. For this purpose, two sample configurations offered by the MIQCP Optimizer tool for the PCC use case, one optimized for the minimum average power consumption and one for the maximum real-time robustness, are deployed on the two target platforms of the AMPERE project. Results show that, in both platforms, the real-time behavior of the application reflects the expectations set by the Optimizer tool, both with and without offloading some of the workloads to the hardware accelerators available on either platform.
AMPERE ecosystem and workflow
The demo explains the AMPERE ecosystem by showing the parts of the workflow that have been automated. The sources of the AMPERE tools are stored in a Gitlab repository. A Docker container gathers all the necessary dependencies (tools, libraries) identified for the AMPERE ecosystem. The AMPERE tools Gitlab repository is associated to the Docker container to automatically build and deploy the tools whenever a modification is pushed into the Gitlab repository. Thus, tool developers are warned as soon as their tool cannot be properly built within the AMPERE ecosystem. Symmetrically, the models for the AMPERE use cases are also stored in a Gitlab repository, also connected to the same Docker container. Whenever a model is updated, AMPERE tools are automatically applied to it. This also enables the early detection of problems within the AMPERE ecosystem.