Skip to content

docs: add AGENTS.md with T4/headless-setup notes#72

Open
moduvoice wants to merge 2 commits into
ardha27:mainfrom
moduvoice:docs/t4-turing-notes
Open

docs: add AGENTS.md with T4/headless-setup notes#72
moduvoice wants to merge 2 commits into
ardha27:mainfrom
moduvoice:docs/t4-turing-notes

Conversation

@moduvoice

Copy link
Copy Markdown

Motivation

While benchmarking the AICoverGen Mod inference flow on a real NVIDIA Tesla T4 (Turing, 16GB), I hit several non-obvious setup issues that aren't documented anywhere in this repo. Adding an AGENTS.md so the next person running this outside Colab (or an AI coding agent doing the same) doesn't have to rediscover these from scratch.

Changes

Doc-only — new AGENTS.md, no code touched. It documents four things about existing behavior:

  1. The documented flow is Colab-only. Hina_Mod_AICoverGen_colab.ipynb mounts Drive, hardcodes /content/... paths, and clones the actual inference code from a rot13-obfuscated URL (ardha27/AICoverGen-Mod). None of this runs as-is on a non-Colab GPU box. Notes the headless path (python src/main.py) and the dependency reconstruction needed (torch 2.0.1+cu118, python3.10-dev for building fairseq==0.12.2 from source, huggingface_hub==0.23.4, setuptools<81, ffmpeg/sox).
  2. No bundled RVC voice model by default. download_models.py only fetches the MDX/hubert/rmvpe models, not an RVC voice model, so no_ui.py's default -dir Daemi points at a folder that doesn't exist and the run crashes immediately. Notes that users must supply their own RVC model.
  3. MDX vocal separation silently falls back to CPU without extra CUDA runtime libraries (nvidia-curand/cufft/nvrtc, not bundled with the torch cu118 wheel). Measured 2.05x speedup (28.7s → 14.0s per separation pass) once supplied, with a VRAM trade-off (~2GB → ~13.8GB peak) worth flagging for 16GB cards.
  4. fp16 is correct on T4 (no bf16 trap). Config hardcodes fp16, and the GTX 16xx fp32-downgrade heuristic checks for the substring "16" in the GPU name — "Tesla T4" doesn't match it, so T4 correctly stays fp16. Also notes that the 16xx downgrade branch, when it does trigger, rewrites config JSON files on disk as a side effect.

Testing

  • Verified end-to-end on a real Tesla T4 (16GB, driver 550.163.01, torch 2.0.1+cu118): reconstructed the headless flow, generated a cover with a supplied RVC voice model, and measured MDX separation timing/VRAM under both the CPU-fallback and CUDA-library-supplied conditions.
  • No code paths were touched; this is a documentation-only change and doesn't affect existing behavior.

Document behavior observed while benchmarking the AICoverGen Mod flow
on a real Tesla T4: the launcher notebook is Colab-only (Drive mounts,
/content paths, rot13-obfuscated clone of the real code repo) and does
not run headlessly as-is; the default run has no bundled RVC voice
model and no_ui.py's default -dir Daemi does not exist; MDX vocal
separation silently falls back to CPU without extra CUDA runtime
libraries (nvidia-curand/cufft/nvrtc), with a measured 2.05x speedup
once supplied; and fp16 is the correct dtype on T4 (no bf16 trap,
since "Tesla T4" doesn't match the GTX 16xx fp32-downgrade heuristic).

No code changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant