Parallélisation de Graphes Audio en Rust.
Dans la racine du projet :
cargo build --release
Dans la racine du projet :
cargo doc --open
Les fichiers AudioGraph (.ag) se trouvent dans Samples/AG/
Pour exécuter un graphe en séquentiel :
- Lancer le service
QJackCtl
- Exécuter :
cargo run --release --bin seq_exec <fichier .ag>
Pour exécuter un graphe avec l'ordonnancement par vol de tâches :
- Lancer le service
QJackCtl
- Exécuter :
cargo run --release --bin work_stealing_exec <fichier .ag> <nombre de threads>
Pour exécuter un graphe avec l'ordonnancement statique :
- Lancer le service
QJackCtl
- Exécuter :
cargo run --release --bin static_sched_exec <fichier .ag> <nombre de threads> <algorithme d'ordonnancement: rand, etf, hlfet>
Les scripts se trouvent dans le dossier data
.
Les graphiques générés et la représentation des graphes, visualisés avec Graphviz
, au format PDF se trouvent dans le dossier tmp
.
Tracer l'histogramme :
- Lancer le service
QJackCtl
- Exécuter :
python3 ./data/hist.py <fichier .ag>
Tracer les temps moyens, le nombre d'échéances dépassées et le pire cycle:
- Lancer le service
QJackCtl
- Exécuter :
python3 ./data/parse_log.py <dossier contenant les fichier .ag> <nombre de threads> <taille du buffer>
NB : il faut aussi configurer la taille du buffer dans les options de QJackCtl
.