Animhaven commited on
Commit
e9d7c70
Β·
verified Β·
1 Parent(s): cabe304

Add README with EULA links + usage notes

Browse files
Files changed (1) hide show
  1. README.md +116 -0
README.md ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: nvidia-cuda-toolkit-eula
4
+ license_link: https://docs.nvidia.com/cuda/eula/index.html
5
+ tags:
6
+ - cuda
7
+ - cudnn
8
+ - windows
9
+ - runtime
10
+ - animhaven
11
+ ---
12
+
13
+ # AnimHaven CUDA Runtime
14
+
15
+ NVIDIA **CUDA Toolkit + cuDNN runtime DLLs** for the AnimHaven app
16
+ family ([AnimStart](https://github.com/Initnatsnok/animstart), AnimRoom).
17
+ Distributed separately from the application installers so the base
18
+ download stays small (~150 MB) and only NVIDIA-GPU users pull these
19
+ ~2.85 GB of native libraries on demand.
20
+
21
+ ---
22
+
23
+ ## What's in this repo
24
+
25
+ A flat directory of Windows `.dll` files comprising:
26
+
27
+ | Family | Files | Approx. size |
28
+ |---|---|---:|
29
+ | **CUDA Toolkit** | `cublas64_12.dll`, `cublasLt64_12.dll`, `cudart64_12.dll` | ~548 MB |
30
+ | **cuDNN** | `cudnn*.dll` (engines, graph, ops, heuristic) | ~947 MB |
31
+ | **CUDA Math** | `cufft64_11.dll`, `cufftw64_11.dll`, `curand64_10.dll` | ~350 MB |
32
+ | **NVRTC** | `nvJitLink_120_0.dll`, `nvrtc*.dll` | ~262 MB |
33
+ | **CUDA engine bindings** | `ggml-cuda.dll` (from llama.cpp build), `onnxruntime_providers_cuda.dll` | ~741 MB |
34
+ | **Total** | ~20 files | **~2.85 GB** |
35
+
36
+ All files are NVIDIA's redistributable binaries vendored from the CUDA
37
+ Toolkit installer + cuDNN release. No modifications.
38
+
39
+ ---
40
+
41
+ ## Usage
42
+
43
+ **This repo is consumed by the in-app installer** β€” you typically don't
44
+ download it directly. AnimStart's SetupWizard ("GPU acceleration"
45
+ step) and Settings β†’ Advanced β†’ "GPU acceleration" both pull these
46
+ files via HuggingFace LFS into `<APPDATA>/AnimHaven/cuda_runtime/`,
47
+ verify SHA256, and register the directory with the Windows DLL loader
48
+ via `AddDllDirectoryW`.
49
+
50
+ The manifest (file paths + sizes + SHA256) is **baked into the
51
+ AnimStart binary** at compile time via
52
+ `include_str!("anim-shared/cuda-runtime-manifest.json")`, so the
53
+ installer has zero network round-trips on top of the file downloads
54
+ themselves.
55
+
56
+ ### Direct download (advanced)
57
+
58
+ If you need to manually populate `cuda_runtime/`, e.g. for offline
59
+ provisioning of a kiosk machine, clone the repo with Git LFS:
60
+
61
+ ```bash
62
+ git lfs install
63
+ git clone https://huggingface.co/Animhaven/cuda-runtime
64
+ # Copy contents of cuda-runtime/ to %APPDATA%/AnimHaven/cuda_runtime/
65
+ ```
66
+
67
+ ---
68
+
69
+ ## License
70
+
71
+ The DLLs in this repo are NVIDIA software, redistributed under their
72
+ respective EULAs:
73
+
74
+ - **CUDA Toolkit components** (`cublas*.dll`, `cudart*.dll`, `cufft*.dll`,
75
+ `curand*.dll`, `nvJitLink*.dll`, `nvrtc*.dll`) β€” covered by the
76
+ [NVIDIA CUDA Toolkit End User License Agreement](https://docs.nvidia.com/cuda/eula/index.html).
77
+ - **cuDNN components** (`cudnn*.dll`) β€” covered by the
78
+ [NVIDIA cuDNN Software License Agreement](https://docs.nvidia.com/deeplearning/cudnn/sla/index.html).
79
+ - **`ggml-cuda.dll`** β€” derived from llama.cpp (MIT) compiled against
80
+ the CUDA Toolkit.
81
+ - **`onnxruntime_providers_cuda.dll`** β€” derived from ONNX Runtime
82
+ (MIT) compiled against CUDA.
83
+
84
+ The AnimStart in-app installer surfaces both NVIDIA EULAs as direct
85
+ links and treats a click on "Install" as user acceptance (Soft-EULA
86
+ model). The acceptance is persisted per-installation so the dialog
87
+ doesn't re-prompt.
88
+
89
+ ---
90
+
91
+ ## Versioning
92
+
93
+ The repo tracks a single rolling pack on `main`. When the CUDA Toolkit
94
+ or cuDNN version changes, the entire pack is re-uploaded β€” git history
95
+ preserves prior versions for any downstream clients that pinned a SHA
96
+ in their manifest.
97
+
98
+ Current version is encoded in the `manifest.json` baked into the
99
+ AnimStart binary (field `version`, e.g. `v12.4-cudnn9`).
100
+
101
+ ---
102
+
103
+ ## Why this pack instead of asking users to install CUDA?
104
+
105
+ 1. **One-click UX** β€” typical users don't know what CUDA Toolkit is or
106
+ which version AnimStart wants. Installing the full toolkit (~3 GB
107
+ developer tools they don't need) is wasteful.
108
+ 2. **Version isolation** β€” different apps using different CUDA versions
109
+ conflict in `PATH`. By keeping our copy in `<APPDATA>/AnimHaven/`
110
+ and registering only for our process, we don't pollute the
111
+ system-wide DLL search order.
112
+ 3. **Exact ABI match** β€” the `ggml-cuda.dll` and
113
+ `onnxruntime_providers_cuda.dll` shipped here are compiled against
114
+ the specific CUDA Toolkit version in this repo. A user-supplied
115
+ different version would either fail to link or produce subtle
116
+ inference bugs.