apolinario commited on
Commit
11d62c5
·
1 Parent(s): 8c73a94

Per-resolution GPU size: 512 → large (1× quota), 1024 → xlarge (2× quota); plain dispatcher routes between two @spaces.GPU entrypoints

Browse files
Files changed (1) hide show
  1. app.py +18 -2
app.py CHANGED
@@ -236,8 +236,7 @@ import threading
236
  import queue as _queue
237
 
238
 
239
- @spaces.GPU(duration=90, size="xlarge")
240
- def generate(
241
  prompt: str,
242
  num_inference_steps: int = 28,
243
  guidance_scale: float = 5.0,
@@ -340,6 +339,23 @@ def generate(
340
  )
341
 
342
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
343
  DESCRIPTION = """
344
  # 🪄 PiD — Pixel Diffusion Decoder for Z-Image
345
 
 
236
  import queue as _queue
237
 
238
 
239
+ def _generate_core(
 
240
  prompt: str,
241
  num_inference_steps: int = 28,
242
  guidance_scale: float = 5.0,
 
339
  )
340
 
341
 
342
+ # Two decorated entrypoints: 1024 needs the full 96GB Blackwell, 512 fits the MIG.
343
+ # `size` isn't dynamic via the decorator, so we route per request from a plain dispatcher.
344
+ @spaces.GPU(duration=60)
345
+ def generate_large(*args, **kwargs):
346
+ yield from _generate_core(*args, **kwargs)
347
+
348
+
349
+ @spaces.GPU(duration=90, size="xlarge")
350
+ def generate_xlarge(*args, **kwargs):
351
+ yield from _generate_core(*args, **kwargs)
352
+
353
+
354
+ def generate(prompt, num_inference_steps, guidance_scale, seed, resolution, randomize_seed):
355
+ fn = generate_xlarge if int(resolution) >= 1024 else generate_large
356
+ yield from fn(prompt, num_inference_steps, guidance_scale, seed, resolution, randomize_seed)
357
+
358
+
359
  DESCRIPTION = """
360
  # 🪄 PiD — Pixel Diffusion Decoder for Z-Image
361