multimodalart HF Staff commited on
Commit
78cdd7e
·
verified ·
1 Parent(s): 3a15024

Record the measured GPU costs

Browse files
Files changed (2) hide show
  1. README.md +16 -0
  2. app.py +4 -2
README.md CHANGED
@@ -81,6 +81,22 @@ The VAEs move on the first GPU call. `H3_GPU_SIZE=xlarge` is required — `large
81
  [`multimodalart/minimax-h3-aoti`](https://huggingface.co/multimodalart/minimax-h3-aoti), one ahead-of-time-compiled
82
  transformer block serving all 50, which removes roughly 0.5 s/step.
83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  ## Files
85
 
86
  | file | |
 
81
  [`multimodalart/minimax-h3-aoti`](https://huggingface.co/multimodalart/minimax-h3-aoti), one ahead-of-time-compiled
82
  transformer block serving all 50, which removes roughly 0.5 s/step.
83
 
84
+ ## Measured
85
+
86
+ The default request — 960x544, 124 frames (5.167 s), 15 steps of `linear_quadratic`, RCAS 0.3, FILM 2x to 48 fps:
87
+
88
+ | | |
89
+ |---|---|
90
+ | startup | 97–153 s (77.3 GB over Xet, 50 AoTI blocks patched) |
91
+ | denoise + both decoders | 61 s, 4.1 s/step |
92
+ | RCAS + FILM + h264 mux | 9 s |
93
+ | **booked ZeroGPU** | **89 s** for a 70 s call |
94
+
95
+ First-and-last-frame at the same canvas costs 79 s — the two keyframes add 510 conditioning rows each — and its
96
+ output's first and last frames reproduce the supplied keyframes to a mean absolute error of 2–3/255. The estimator is
97
+ quadratic in the canvas, so 1344x768 is roughly 2.7x the denoise of 960x544; every run prints its measured GPU time
98
+ against what it booked.
99
+
100
  ## Files
101
 
102
  | file | |
app.py CHANGED
@@ -212,8 +212,10 @@ def encode_remote(prompt, image_path, last_image_path, canvas, num_frames, rewri
212
  return handle.get_tensor("prompt_embeds"), handle.get_tensor("text_token_tags"), metadata, plan
213
 
214
 
215
- # Seconds of GPU one request needs. Fitted to *this* Space, measured: booking a ceiling nobody reaches spends every
216
- # visitor's ZeroGPU quota on nothing and costs the demo queue priority, so each term below is a measurement.
 
 
217
  #
218
  # The denoise loop, from the packed video rows it is about to run: linear in the rows for the matmuls, quadratic for
219
  # the attention, against the AoTI block package this Space loads. 3.6 s/step at the default canvas.
 
212
  return handle.get_tensor("prompt_embeds"), handle.get_tensor("text_token_tags"), metadata, plan
213
 
214
 
215
+ # Seconds of GPU one request needs. Fitted to *this* Space against measurements, because booking a ceiling nobody
216
+ # reaches spends every visitor's ZeroGPU quota on nothing and costs the demo queue priority. Measured on the live
217
+ # Space: the default request takes 70 s and books 89; the first-and-last-frame one takes 79 s and books 94. The report
218
+ # each request prints carries both numbers, so the fit stays checkable.
219
  #
220
  # The denoise loop, from the packed video rows it is about to run: linear in the rows for the matmuls, quadratic for
221
  # the attention, against the AoTI block package this Space loads. 3.6 s/step at the default canvas.