LH-Tech-AI commited on
Commit
13be905
·
verified ·
1 Parent(s): 1df64c3

Create cloud-gpus.html

Browse files
Files changed (1) hide show
  1. cloud-gpus.html +285 -0
cloud-gpus.html ADDED
@@ -0,0 +1,285 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>We're back - and cloud GPUs! | SupraLabs Blog</title>
7
+ <style>
8
+ :root {
9
+ --bg: #0f0f0f;
10
+ --surface: #1a1a1a;
11
+ --border: #333;
12
+ --text: #e0e0e0;
13
+ --accent: #536bfe;
14
+ --muted: #888;
15
+ --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
16
+ }
17
+ * { margin: 0; padding: 0; box-sizing: border-box; }
18
+ body {
19
+ background-color: var(--bg);
20
+ color: var(--text);
21
+ font-family: 'Inter', -apple-system, sans-serif;
22
+ line-height: 1.6;
23
+ padding: 2rem;
24
+ }
25
+ code, pre, .mono { font-family: var(--font-mono); }
26
+ .container { max-width: 900px; margin: 0 auto; }
27
+
28
+ header {
29
+ border-bottom: 2px solid var(--border);
30
+ padding-bottom: 2rem;
31
+ margin-bottom: 3rem;
32
+ display: flex;
33
+ justify-content: space-between;
34
+ align-items: flex-end;
35
+ }
36
+ .logo-area h1 {
37
+ font-size: 1.2rem;
38
+ text-transform: uppercase;
39
+ letter-spacing: 2px;
40
+ color: var(--accent);
41
+ line-height: 1;
42
+ display: flex;
43
+ align-items: center;
44
+ gap: 10px;
45
+ }
46
+ .logo-area a { text-decoration: none; color: inherit; }
47
+ .logo-area { display: flex; align-items: center; gap: 10px; font-weight: bold; font-size: 1.2rem; }
48
+ nav a {
49
+ color: var(--text);
50
+ text-decoration: none;
51
+ margin-left: 1.5rem;
52
+ font-size: 0.9rem;
53
+ border-bottom: 1px solid transparent;
54
+ }
55
+ nav a:hover { border-bottom: 1px solid var(--accent); }
56
+
57
+ .post-header { margin-bottom: 3rem; }
58
+ .post-header h2 { font-size: 3rem; line-height: 1.1; margin-bottom: 1rem; font-weight: 800; }
59
+ .post-meta { font-family: var(--font-mono); color: var(--accent); font-size: 0.9rem; margin-bottom: 2rem; }
60
+
61
+ .post-content {
62
+ background: var(--surface);
63
+ border: 1px solid var(--border);
64
+ padding: 3rem;
65
+ margin-bottom: 4rem;
66
+ }
67
+ .post-content h2 { font-size: 1.8rem; margin: 2.5rem 0 1rem 0; color: var(--accent); }
68
+ .post-content h2:first-child { margin-top: 0; }
69
+ .post-content p { margin-bottom: 1.5rem; font-size: 1.1rem; color: var(--text); }
70
+ .post-content ul { margin-bottom: 1.5rem; padding-left: 1.5rem; }
71
+ .post-content li { margin-bottom: 0.5rem; font-size: 1.1rem; }
72
+ .post-content strong { color: #fff; }
73
+ .post-content code {
74
+ background: #111;
75
+ border: 1px solid var(--border);
76
+ padding: 2px 6px;
77
+ border-radius: 3px;
78
+ font-size: 0.95em;
79
+ color: var(--accent);
80
+ }
81
+
82
+ .callout {
83
+ border-left: 3px solid var(--accent);
84
+ background: #111;
85
+ padding: 1rem 1.5rem;
86
+ margin: 2rem 0;
87
+ font-family: var(--font-mono);
88
+ font-size: 0.95rem;
89
+ color: #ccc;
90
+ }
91
+ .callout span { display: block; color: var(--muted); font-size: 0.8rem; margin-bottom: 0.4rem; }
92
+
93
+ /* IO example pairs */
94
+ .io-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; }
95
+ .io-pair {
96
+ background: #111;
97
+ border: 1px solid var(--border);
98
+ padding: 1.2rem;
99
+ }
100
+ .io-pair .io-label {
101
+ font-family: var(--font-mono);
102
+ font-size: 0.72rem;
103
+ color: var(--muted);
104
+ margin-bottom: 0.5rem;
105
+ }
106
+ .io-pair .io-user { color: #ccc; font-size: 0.95rem; margin-bottom: 0.8rem; line-height: 1.5; }
107
+ .io-pair .io-result {
108
+ font-family: var(--font-mono);
109
+ color: var(--accent);
110
+ font-size: 0.9rem;
111
+ font-weight: 700;
112
+ }
113
+
114
+ /* Flow diagram */
115
+ .flow {
116
+ display: flex;
117
+ align-items: center;
118
+ justify-content: center;
119
+ gap: 0.8rem;
120
+ margin: 2rem 0;
121
+ flex-wrap: wrap;
122
+ }
123
+ .flow-box {
124
+ background: #111;
125
+ border: 1px solid var(--border);
126
+ padding: 0.8rem 1.2rem;
127
+ font-family: var(--font-mono);
128
+ font-size: 0.82rem;
129
+ text-align: center;
130
+ color: #ccc;
131
+ }
132
+ .flow-box.accent { border-color: var(--accent); color: var(--accent); }
133
+ .flow-arrow { color: var(--accent); font-size: 1.2rem; }
134
+
135
+ .table-wrap { overflow-x: auto; margin: 2rem 0; }
136
+ table { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: 0.88rem; }
137
+ th { background: #111; color: var(--accent); padding: 0.75rem 1rem; text-align: left; border: 1px solid var(--border); }
138
+ td { padding: 0.7rem 1rem; border: 1px solid var(--border); color: var(--text); }
139
+ tr:nth-child(even) td { background: #111; }
140
+
141
+ .tags { display: flex; gap: 0.5rem; margin-top: 2rem; flex-wrap: wrap; }
142
+ .tag { font-family: var(--font-mono); font-size: 0.7rem; padding: 2px 8px; border: 1px solid var(--border); border-radius: 4px; color: var(--muted); }
143
+
144
+ footer { margin-top: 6rem; padding-bottom: 2rem; font-size: 0.8rem; color: var(--muted); text-align: center; }
145
+
146
+ @media (max-width: 600px) {
147
+ .post-header h2 { font-size: 2rem; }
148
+ .post-content { padding: 1.5rem; }
149
+ header { flex-direction: column; align-items: flex-start; gap: 1rem; }
150
+ nav a { margin-left: 0; margin-right: 1rem; }
151
+ .io-grid { grid-template-columns: 1fr; }
152
+ .flow { flex-direction: column; }
153
+ }
154
+ </style>
155
+ </head>
156
+ <body>
157
+ <div class="container">
158
+ <header>
159
+ <div class="logo-area" style="font-size: 1.5em;">
160
+ <a href="./index.html"><h1><img src="./image.png" style="height: 2em"> SupraLabs_</h1></a>
161
+ </div>
162
+ <nav>
163
+ <a href="./index.html#news">News</a>
164
+ <a href="https://huggingface.co/SupraLabs" target="blank">HuggingFace</a>
165
+ <a href="./index.html#hardware">Hardware</a>
166
+ </nav>
167
+ </header>
168
+
169
+ <article>
170
+ <div class="post-header">
171
+ <div class="post-meta">// 2026-08-29 | Research</div>
172
+ <h2>We're back.<br>And we audited<br>cloud GPU math.</h2>
173
+ </div>
174
+
175
+ <div class="post-content">
176
+
177
+ <p>This blog was dark for a while. Not dead - parked. We are back. First post after the pause is not a launch. It is a spreadsheet with teeth.</p>
178
+ <p>Cloud GPU listings mix <strong>dense</strong> and <strong>sparse</strong> BF16 numbers like they are the same unit. They are not. NVIDIA datasheets often lead with 2:4 sparsity (roughly 2x dense). Sort by that mix and you pick the wrong card for a long run 😭. We re-checked VRAM, memory bandwidth, architecture, and BF16 dense TFLOPS against vendor datasheets. Hourly prices were already trusted (in Runpod). Everything else got rebuilt.</p>
179
+
180
+ <h2>The dense / sparse trap</h2>
181
+ <p>Training almost never uses structured sparsity the way the marketing peak assumes. If you pay for FLOPs, you should compare <strong>BF16 dense (FP32 accumulate)</strong>. Sparse peaks belong in a footnote, not in the ranking column.</p>
182
+ <p>Biggest corrections from the first pass:</p>
183
+ <ul>
184
+ <li>RTX PRO 4000 is ~161 dense TFLOPS, not ~358. Bandwidth is 672 GB/s.</li>
185
+ <li>RTX 5090 419 is sparse; dense is 209.5.</li>
186
+ <li>H100 NVL is 835.5 dense, not the SXM 989 number copied across SKUs.</li>
187
+ <li>L40 dense is 181, not the L40S 362 figure.</li>
188
+ <li>H200 is 141 GB, not 143. SXM and NVL share the same die and HBM3e stack.</li>
189
+ <li>B200 bandwidth is 7.7 TB/s (often rounded to 8). B300 keeps ~2250 BF16 dense; the Ultra bump is mostly FP4 and 288 GB.</li>
190
+ <li>MI300X 1307 BF16 dense was already right - and that moves it to the top of $/FLOP once everyone else is densified.</li>
191
+ </ul>
192
+ <p>Ada workstation cards were the worst offenders: Tensor numbers in the PDF are often FP8-with-sparsity. Divide by 8 and you get a usable BF16 dense estimate (RTX 4000 Ada ~41, RTX 2000 Ada ~24).</p>
193
+
194
+ <h2>How to pick a GPU for a long run</h2>
195
+ <p>Fixed work W (tokens, epochs, whatever). Price p in $/h. Peak dense BF16 F. Bandwidth B. Arithmetic intensity I (FLOPs per byte). Utilization η (MFU, often 0.3-0.5 in training).</p>
196
+
197
+ <div class="callout">
198
+ <span>// cost</span>
199
+ cost = p · W / F_eff<br>
200
+ F_eff = η · min(F, I · B)<br>
201
+ pick argmin p / F_eff subject to VRAM ≥ model + opt + acts
202
+ </div>
203
+
204
+ <p>That collapses to two sorts:</p>
205
+ <ul>
206
+ <li><strong>Compute-bound</strong> (big-batch training): minimize <strong>$ per BF16 TFLOP</strong>.</li>
207
+ <li><strong>Memory-bound</strong> (decode, tiny batches): minimize <strong>$ per TB/s</strong>.</li>
208
+ </ul>
209
+ <p>If the model does not fit, multiply by a parallel tax. PCIe without NVLink is ugly: TP=2 on a 70B BF16 decode can lose 35-55% vs a single fat card. Consumer GDDR also has no ECC - a bit flip in a 48-hour run is a real failure mode. Checkpoint.</p>
210
+ <p>Peak is not MFU. L40S looks cheap on 362 TFLOPS sitting on 0.86 TB/s until the kernel is bandwidth-starved. MI300X wins on paper if ROCm actually delivers; measured FP16/BF16 is often 45-85% of peak depending on the stack.</p>
211
+
212
+ <h2>The table</h2>
213
+ <p>Hourly $ kept as-is. Specs renormalized to BF16 <strong>dense</strong>. Sorted by $ per BF16 TFLOP. Scroll sideways if your viewport is not a cinema screen ... lol.</p>
214
+
215
+ <div class="table-wrap">
216
+ <table>
217
+ <thead>
218
+ <tr><th>GPU</th><th>Architecture</th><th>VRAM</th><th>Data throughput in TB/s</th><th>BF16 TFLOPS</th><th>Price in $ per hour</th><th>Price in $ per TB data throughput</th><th>Price in $ per BF16 TFLOP</th></tr>
219
+ </thead>
220
+ <tbody>
221
+ <tr><td>MI300X</td><td>CDNA 3</td><td>192 GB</td><td>5.3</td><td>1307</td><td>2.39</td><td>0.000125</td><td>0.00000051</td></tr>
222
+ <tr><td>RTX A5000</td><td>Ampere</td><td>24 GB</td><td>1</td><td>111</td><td>0.27</td><td>0.000098</td><td>0.00000068</td></tr>
223
+ <tr><td>RTX A4500</td><td>Ampere</td><td>20 GB</td><td>0.64</td><td>~95</td><td>0.25</td><td>0.000109</td><td>0.00000073</td></tr>
224
+ <tr><td>L40S</td><td>Ada Lovelace</td><td>48 GB</td><td>1</td><td>362</td><td>0.99</td><td>0.000318</td><td>0.00000076</td></tr>
225
+ <tr><td>A40</td><td>Ampere</td><td>48 GB</td><td>1</td><td>150</td><td>0.44</td><td>0.000176</td><td>0.00000082</td></tr>
226
+ <tr><td>B200</td><td>Blackwell</td><td>180 GB</td><td>7.7</td><td>2250</td><td>6.79</td><td>0.000245</td><td>0.00000084</td></tr>
227
+ <tr><td>RTX A4000</td><td>Ampere</td><td>16 GB</td><td>0</td><td>~77</td><td>0.25</td><td>0.000155</td><td>0.00000091</td></tr>
228
+ <tr><td>H100 SXM</td><td>Hopper</td><td>80 GB</td><td>3.35</td><td>989</td><td>3.29</td><td>0.000273</td><td>0.00000092</td></tr>
229
+ <tr><td>RTX PRO 4500 (+SE)</td><td>Blackwell</td><td>32 GB</td><td>1</td><td>~215</td><td>0.72</td><td>0.000223</td><td>0.00000093</td></tr>
230
+ <tr><td>RTX A6000</td><td>Ampere</td><td>48 GB</td><td>1</td><td>155</td><td>0.53</td><td>0.000192</td><td>0.00000095</td></tr>
231
+ <tr><td>B300</td><td>Blackwell Ultra</td><td>288 GB</td><td>8</td><td>2250</td><td>7.89</td><td>0.000274</td><td>0.00000097</td></tr>
232
+ <tr><td>RTX PRO 4000</td><td>Blackwell</td><td>24 GB</td><td>1</td><td>~161</td><td>0.57</td><td>0.000236</td><td>0.00000098</td></tr>
233
+ <tr><td>RTX PRO 6000 WK</td><td>Blackwell</td><td>96 GB</td><td>1.79</td><td>~500</td><td>1.89</td><td>0.000293</td><td>0.00000105</td></tr>
234
+ <tr><td>H100 NVL</td><td>Hopper</td><td>94 GB</td><td>3.9</td><td>836</td><td>3.19</td><td>0.000227</td><td>0.00000106</td></tr>
235
+ <tr><td>H100 PCIe</td><td>Hopper</td><td>80 GB</td><td>2</td><td>756</td><td>2.89</td><td>0.000401</td><td>0.00000106</td></tr>
236
+ <tr><td>H200 NVL</td><td>Hopper</td><td>141 GB</td><td>4.8</td><td>989</td><td>3.79</td><td>0.000219</td><td>0.00000106</td></tr>
237
+ <tr><td>L4</td><td>Ada Lovelace</td><td>24 GB</td><td>0.3</td><td>121</td><td>0.49</td><td>0.000454</td><td>0.00000112</td></tr>
238
+ <tr><td>RTX PRO 6000 SE</td><td>Blackwell</td><td>96 GB</td><td>1.79</td><td>~500</td><td>2.09</td><td>0.000324</td><td>0.00000116</td></tr>
239
+ <tr><td>PRO 6000 MIG 48GB</td><td>Blackwell (MIG)</td><td>48 GB</td><td>~0.90</td><td>~250</td><td>1.09</td><td>0.000338</td><td>0.00000121</td></tr>
240
+ <tr><td>A100 PCIe</td><td>Ampere</td><td>80 GB</td><td>1.94</td><td>312</td><td>1.39</td><td>0.000200</td><td>0.00000124</td></tr>
241
+ <tr><td>RTX 4090</td><td>Ada Lovelace</td><td>24 GB</td><td>1.01</td><td>165</td><td>0.74</td><td>0.000204</td><td>0.00000124</td></tr>
242
+ <tr><td>L40</td><td>Ada Lovelace</td><td>48 GB</td><td>1</td><td>181</td><td>0.82</td><td>0.000264</td><td>0.00000126</td></tr>
243
+ <tr><td>RTX 6000 Ada</td><td>Ada Lovelace</td><td>48 GB</td><td>0.96</td><td>182.5</td><td>0.84</td><td>0.000243</td><td>0.00000128</td></tr>
244
+ <tr><td>H200 SXM</td><td>Hopper</td><td>141 GB</td><td>4.8</td><td>989</td><td>4.59</td><td>0.000266</td><td>0.00000129</td></tr>
245
+ <tr><td>PRO 6000 MIG 24GB</td><td>Blackwell (MIG)</td><td>24 GB</td><td>~0.45</td><td>~125</td><td>0.59</td><td>0.000366</td><td>0.00000131</td></tr>
246
+ <tr><td>RTX 5090</td><td>Blackwell</td><td>32 GB</td><td>1.79</td><td>209.5</td><td>0.99</td><td>0.000153</td><td>0.00000131</td></tr>
247
+ <tr><td>A100 SXM</td><td>Ampere</td><td>80 GB</td><td>2.04</td><td>312</td><td>1.59</td><td>0.000217</td><td>0.00000142</td></tr>
248
+ <tr><td>RTX 4000 Ada</td><td>Ada Lovelace</td><td>20 GB</td><td>0.36</td><td>~41</td><td>0.28</td><td>0.000216</td><td>0.00000190</td></tr>
249
+ <tr><td>RTX 3090</td><td>Ampere</td><td>24 GB</td><td>1</td><td>71</td><td>0.5</td><td>0.000148</td><td>0.00000196</td></tr>
250
+ <tr><td>RTX 2000 Ada</td><td>Ada Lovelace</td><td>16 GB</td><td>0</td><td>~24</td><td>0.24</td><td>0.000298</td><td>0.00000278</td></tr>
251
+ </tbody>
252
+ </table>
253
+ </div>
254
+
255
+ <h2>What we would actually rent</h2>
256
+ <p>Jobs that fit in 20-24 GB: A4500 / A5000 still crush $/FLOP. Real training: MI300X if the software stack is ROCm-shaped, otherwise B200 or H100 SXM among NVIDIA. H200 NVL is the sleeper - H100-SXM compute, 141 GB, 4.8 TB/s, almost the same $ per dense TFLOP as H100 PCIe/NVL.</p>
257
+ <p>Do not sort sparse marketing peaks and call it research. We did that once. Then we fixed it. Life is crazy 😭😂</p>
258
+
259
+ <div class="callout">
260
+ <span>// notes</span>
261
+ Prices --> as provided ($/h)<br>
262
+ FLOPS --> BF16 dense, vendor datasheets<br>
263
+ BW / VRAM --> NVIDIA / AMD product pages<br>
264
+ Formula --> roofline, not vibes
265
+ </div>
266
+
267
+ <div class="tags">
268
+ <span class="tag">#we're-back</span>
269
+ <span class="tag">#gpu</span>
270
+ <span class="tag">#bf16</span>
271
+ <span class="tag">#roofline</span>
272
+ <span class="tag">#cloud</span>
273
+ <span class="tag">#mi300x</span>
274
+ <span class="tag">#blackwell</span>
275
+ <span class="tag">#research</span>
276
+ </div>
277
+ </div>
278
+ </article>
279
+
280
+ <footer>
281
+ <p class="mono">&copy; 2026 SupraLabs // Built for the community.</p>
282
+ </footer>
283
+ </div>
284
+ </body>
285
+ </html>