|
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). | |