Tracked cluster
DAH2, DAH01 and incoming DAH03
Compute estate
2x H100 NVL, 2x RTX A6000, 4x H200 planned
Host profile
1 TB RAM, 112 cores / 224 threads on DAH2
Billing rate
0.04 / GiB-h
GPU memory is captured at PID level and grouped per GPU every minute.
The PID owner UID is mapped back to the network username through NSS.
Users and servers are upserted once, then history rows store server, user, GPU and VRAM bytes.
GiB-hours combines memory footprint and runtime, then applies the 0.04 rate.
SELECT
u.username AS user,
s.hostname AS server,
s.gpu_model,
ROUND(COUNT(*) / 60, 1) AS total_hours_used,
ROUND(AVG(h.vram_bytes) / 1024 / 1024 / 1024, 2) AS avg_vram_gib,
ROUND(MAX(h.vram_bytes) / 1024 / 1024 / 1024, 2) AS peak_vram_gib,
ROUND(SUM(h.vram_bytes / 1024 / 1024 / 1024) / 60, 1) AS total_gib_hours,
ROUND((SUM(h.vram_bytes / 1024 / 1024 / 1024) / 60) * 0.04, 2) AS charge
FROM gpu_user_history h
JOIN users u ON h.user_id = u.user_id
JOIN servers s ON h.server_id = s.server_id
WHERE h.timestamp >= DATE_FORMAT(NOW(), '%Y-%m-01')
GROUP BY h.user_id, h.server_id
ORDER BY total_gib_hours DESC, u.username ASC;