File size: 3,175 Bytes
7ee5393
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
{
  "method": "Separate local processes; 1024x1024, two denoising steps, seed 42, cold start, phase loading; diagnostic only",
  "models": {
    "bf16": {
      "model": "Image21-MLX-bf16",
      "size": 1024,
      "steps": 2,
      "warmup": false,
      "diagnostic_only": true,
      "note": "Compute peak resets after loading; next load peak can include the prior phase still resident at transition. Cold two-step times are not comparable with formal 40-step results.",
      "total_seconds": 17.3185,
      "events": [
        {
          "phase": "text_encoder",
          "load_seconds": 2.4333,
          "load_peak_gib": 16.3307,
          "active_after_load_gib": 16.3307,
          "compute_seconds": 0.1586,
          "compute_peak_gib": 16.3877,
          "active_after_compute_gib": 16.331,
          "cache_after_compute_gib": 0.0599
        },
        {
          "phase": "transformer",
          "load_seconds": 1.9974,
          "load_peak_gib": 13.2532,
          "active_after_load_gib": 13.2532,
          "compute_seconds": 10.7757,
          "compute_peak_gib": 16.197,
          "active_after_compute_gib": 13.2579,
          "cache_after_compute_gib": 3.9134
        },
        {
          "phase": "vae",
          "load_seconds": 0.3024,
          "load_peak_gib": 1.2612,
          "active_after_load_gib": 1.2612,
          "compute_seconds": 1.5496,
          "compute_peak_gib": 16.1927,
          "active_after_compute_gib": 1.2626,
          "cache_after_compute_gib": 41.9682
        }
      ]
    },
    "8bit": {
      "model": "Image21-MLX-8bit",
      "size": 1024,
      "steps": 2,
      "warmup": false,
      "diagnostic_only": true,
      "note": "Compute peak resets after loading; next load peak can include the prior phase still resident at transition. Cold two-step times are not comparable with formal 40-step results.",
      "total_seconds": 17.352,
      "events": [
        {
          "phase": "text_encoder",
          "load_seconds": 1.5567,
          "load_peak_gib": 10.2662,
          "active_after_load_gib": 10.2662,
          "compute_seconds": 0.1065,
          "compute_peak_gib": 10.3455,
          "active_after_compute_gib": 10.2665,
          "cache_after_compute_gib": 0.079
        },
        {
          "phase": "transformer",
          "load_seconds": 1.1146,
          "load_peak_gib": 7.1595,
          "active_after_load_gib": 7.1595,
          "compute_seconds": 12.6051,
          "compute_peak_gib": 10.1033,
          "active_after_compute_gib": 7.1641,
          "cache_after_compute_gib": 3.9446
        },
        {
          "phase": "vae",
          "load_seconds": 0.2663,
          "load_peak_gib": 1.2612,
          "active_after_load_gib": 1.2612,
          "compute_seconds": 1.6047,
          "compute_peak_gib": 16.1927,
          "active_after_compute_gib": 1.2626,
          "cache_after_compute_gib": 41.9682
        }
      ]
    }
  },
  "interpretation": "The unquantized FP32 VAE decode is the shared active-allocation floor at this resolution. Cache entries are unused buffers, not minimum physical RAM. Cold two-step timings do not replace the formal 40-step benchmark."
}