https://github.com/anira-project/anira-rt-principle-check

Evaluation of real-time violations of different inference engines and validation of the real-time safety of the anira library

https://github.com/anira-project/anira-rt-principle-check

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary

Keywords

audio-processing deep-learning libtorch onnx real-time-systems sanitizer tensorflow-lite
Last synced: 5 months ago · JSON representation

Repository

Evaluation of real-time violations of different inference engines and validation of the real-time safety of the anira library

Basic Info
Statistics
  • Stars: 2
  • Watchers: 3
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
audio-processing deep-learning libtorch onnx real-time-systems sanitizer tensorflow-lite
Created about 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Anira Real-time Principle Check

Introduction

This repository serves as a supplementary resource for the anira library, an architecture for neural network inference in real-time audio application.

This repository contains two validation tests / builds: - validate-anira: validate real-time saftey of the proposed architecture of anira - validate-inference-engines: evaluation of real-time violations of the inference engines: LibTorch, ONNXRuntime, and Tensorflow Lite - evaluate number of violations in multiple inferences - evaluate types of violations in multiple inferences

Tests are conducted under diverse conditions to ensure robust analysis: Each inference engine is evaluated using three models over ten iterations, alongside varied audio processing configurations for adaptability and real-time compliance assessment.

The analysis utilizes code sanitizers specifically designed to detect potential real-time violations during runtime. We leverage RadSan, a real-time safety testing tool optimized for C and C++ environments. RadSan is engineered to identify real-time violations, including but not limited to, memory allocation/deallocation and thread synchronization issues.

How to Use

The tests are currently only supported on macOS, Linux, WSL:

Get Radsan Docker: bash docker pull realtimesanitizer/radsan-clang

Clone repository and get submodules: bash git clone --recursive https://github.com/tu-studio/anira-rt-principle-check/ cd anira-rt-principle-check

Prepare docker: ```bash

Start RadSan docker image with mounted directory

sudo docker run -v $(pwd):/anira-rt-principle-check -it realtimesanitizer/radsan-clang /bin/bash

Install necessary dependencies:

apt-get update && apt-get install -y git cmake ```

Build inside docker: ``` cd anira-rt-principle-check/ cmake . -B cmake-build-release -DCMAKEBUILDTYPE=Release

cmake --build cmake-build-release --config Release --target simple-real-time-violations cmake --build cmake-build-release --config Release --target validate-anira cmake --build cmake-build-release --config Release --target validate-inference-engines Execute: bash RADSANERRORMODE=continue ./cmake-build-release/simple-real-time-violations 2>&1 | tee cmake-build-release/simple-real-time-violations.txt RADSANERRORMODE=continue ./cmake-build-release/validate-anira 2>&1 | tee cmake-build-release/validate-anira.txt RADSANERRORMODE=continue ./cmake-build-release/validate-inference-engines 2>&1 | tee cmake-build-release/validate-inference-engines.txt ```

Contributors

License

This project is licensed under Apache-2.0.

Owner

  • Name: anira-project
  • Login: anira-project
  • Kind: organization

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1