|
Download src/docs/ARCHITECTURE.md from CIIL/Anuvani-Diarization: direct link, hf CLI and curl.
- Browser
- Download file 2.44 kB
-
https://huggingface.co/CIIL/Anuvani-Diarization/resolve/main/src/docs/ARCHITECTURE.md
- Command line
-
hf download hf://CIIL/Anuvani-Diarization/src/docs/ARCHITECTURE.md
-
curl -L -o ARCHITECTURE.md https://huggingface.co/CIIL/Anuvani-Diarization/resolve/main/src/docs/ARCHITECTURE.md
2.44 kB
Architecture
Python users Services and many users
anuvani_diar.Diarizer / anuvani-diar CLI anuvani_diar.Client · curl · triton_inference/tools/bench.py
anuvani-diar-check | HTTP: upload or server path -> job id -> status -> RTTM
| v
| anuvani-diar-gateway (Rust, axum)
| spool, admission, token, jobs, result cache, metrics
v |
diar-engine (Rust) ------------------------------+ the same engine in both
input pool: libsndfile decode, channel mean, validation, window plan (diar-audio, diar-core::front)
device pool: one worker per GPU slot, blocks of 8 windows, schedule fifo / fair / share
post pool: clustering, the decoder, RTTM text (diar-core, diar-exact)
| |
v v
TorchNN (in process, one CUDA stream per GPU) Triton 24.10: diar_nn_g0..g5 (one per GPU) + resample_cpu
the release's own PyTorch model code one container for all GPUs (serve.sh) or one per GPU (compose)
| Layer | Where | What it guarantees |
|---|---|---|
| numerics | crates/diar-exact |
numpy, scipy, pyannote and CPython arithmetic reproduced operation by operation |
| front-end and post-processing | crates/diar-core |
the release's windows, batches, masks, clustering, decoder and RTTM text |
| audio | crates/diar-audio |
soundfile's decoding with the same libsndfile binary, numpy's channel mean, the release's errors |
| engine | crates/diar-engine |
overlap of decoding, networks and clustering across files and GPUs, with the release's batch shapes |
| networks | python/anuvani_diar/nn, triton/models |
the release's model objects and flags; a start-up check of every batch shape |
| serving | crates/diar-gateway, crates/diar-triton |
limits, restarts that cost time not results, metrics |
| Python | python/anuvani_diar |
Diarizer, Client, the CLI and the install check |
Read next: ENGINE.md (the pools and schedules), DETERMINISM.md (why the bytes match), TESTING.md (how that is
checked), SECURITY.md, ../triton_inference/README.md (serving) and ../triton/README.md (its Triton images).