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
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
Repository
Evaluation of real-time violations of different inference engines and validation of the real-time safety of the anira library
Basic Info
- Host: GitHub
- Owner: anira-project
- License: apache-2.0
- Language: Jupyter Notebook
- Default Branch: main
- Homepage: https://github.com/anira-project/anira
- Size: 421 KB
Statistics
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
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
- Repositories: 1
- Profile: https://github.com/anira-project
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1