128 lines
5.3 KiB
Markdown
128 lines
5.3 KiB
Markdown
# pub-beebench
|
||
|
||
Публичный репозиторий с результатами GPU-бенчмарков. Содержимое автоматически
|
||
публикуется на сайте через [beebench-publisher](https://github.com/reanimator/beebench).
|
||
|
||
---
|
||
|
||
## Структура репозитория
|
||
|
||
Каждый запуск бенчмарка — отдельная **директория** в корне репозитория или
|
||
архив `.tar.gz`. Вложенность произвольная: `result.json` может лежать как
|
||
непосредственно в директории бандла, так и в поддиректории.
|
||
|
||
```
|
||
pub-beebench/
|
||
dell-r760-h100-2026-04-12/
|
||
result.json
|
||
00-nvidia-smi-q.log # опционально — используется для определения
|
||
gpu-0-steady.log # модели GPU если поле name пустое в result.json
|
||
supermicro-x13-a100-2026-03-01/
|
||
logs/
|
||
gpu-0-steady.log
|
||
result.json
|
||
xe9680-h100x8-2026-02-15.tar.gz
|
||
```
|
||
|
||
**Правила именования директории/архива** — произвольные, на публикацию не
|
||
влияют. Рекомендуется использовать читаемые имена с датой:
|
||
`<сервер>-<gpu>-<дата>`.
|
||
|
||
---
|
||
|
||
## Формат result.json
|
||
|
||
Обязательные поля отмечены `*`.
|
||
|
||
```jsonc
|
||
{
|
||
"benchmark_version": "v1.0.0",
|
||
"generated_at": "2026-04-12T10:30:00Z", // * ISO 8601 UTC
|
||
"server_model": "Dell PowerEdge R760", // * используется как заголовок страницы сервера
|
||
"hostname": "r760-lab-01", // отображается если server_model не задан
|
||
"benchmark_profile": "standard", // произвольная строка: standard / overnight / …
|
||
"overall_status": "OK", // OK | WARN | FAIL
|
||
"selected_gpu_indices": [0], // индексы GPU участвовавших в тесте
|
||
"findings": ["Stable benchmark run"], // список наблюдений
|
||
"warnings": [],
|
||
"gpus": [ // * минимум один элемент
|
||
{
|
||
"index": 0, // * порядковый номер GPU
|
||
"name": "NVIDIA H100 PCIe 80GB", // * модель; если пустая — берётся из лог-файлов
|
||
"status": "OK", // OK | WARN | FAIL
|
||
"bus_id": "0000:17:00.0",
|
||
"vbios": "96.00.5E.00.02",
|
||
"compute_capability": "9.0",
|
||
"multiprocessor_count": 114,
|
||
"steady": {
|
||
"duration_sec": 90,
|
||
"avg_temp_c": 73.2,
|
||
"p95_temp_c": 75.0,
|
||
"avg_power_w": 311.5,
|
||
"p95_power_w": 321.0,
|
||
"avg_graphics_clock_mhz": 1618,
|
||
"p95_graphics_clock_mhz": 1634,
|
||
"avg_memory_clock_mhz": 1593,
|
||
"p95_memory_clock_mhz": 1593,
|
||
"avg_usage_pct": 98.4,
|
||
"avg_mem_usage_pct": 92.1
|
||
},
|
||
"scores": { // * все поля обязательны; compute_score > 0
|
||
"compute_score": 932.4,
|
||
"power_sustain_score": 901.2,
|
||
"thermal_sustain_score": 889.3,
|
||
"stability_score": 944.0,
|
||
"composite_score": 926.7
|
||
},
|
||
"degradation_reasons": [],
|
||
"notes": ["Healthy run"]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
### Обязательные условия для публикации
|
||
|
||
- `generated_at` — должно быть заполнено и являться валидной датой ISO 8601
|
||
- `gpus` — минимум один элемент
|
||
- `compute_score` хотя бы у одного GPU должен быть больше `0`; запуски где все
|
||
оценки равны нулю считаются неудавшимися и отклоняются
|
||
|
||
---
|
||
|
||
## Несколько GPU в одном запуске
|
||
|
||
Если сервер тестировался с несколькими GPU одновременно, все они перечисляются
|
||
в массиве `gpus`. Каждая карта получает отдельную запись с собственными
|
||
метриками и оценками.
|
||
|
||
```jsonc
|
||
"gpus": [
|
||
{ "index": 0, "name": "NVIDIA H100 PCIe 80GB", ... },
|
||
{ "index": 1, "name": "NVIDIA H100 PCIe 80GB", ... }
|
||
]
|
||
```
|
||
|
||
---
|
||
|
||
## Дополнительные файлы в бандле
|
||
|
||
Если поле `name` у GPU пустое, publisher попытается определить модель из
|
||
следующих файлов (ищутся в той же директории что и `result.json`):
|
||
|
||
| Файл | Источник |
|
||
|---|---|
|
||
| `00-nvidia-smi-q.log` | вывод `nvidia-smi -q` |
|
||
| `gpu-0-warmup.log` | лог прогрева |
|
||
| `gpu-0-steady.log` | лог steady-фазы |
|
||
|
||
Остальные файлы (`.html`, `.csv`, `.txt`) игнорируются но могут присутствовать.
|
||
|
||
---
|
||
|
||
## Удаление результата
|
||
|
||
Чтобы убрать результат с сайта — удалите соответствующую директорию или архив
|
||
из репозитория и сделайте коммит. Сайт обновится при следующей синхронизации
|
||
(по умолчанию раз в сутки).
|