CoolFace
Datasetpublic

Glow-AI/pco32_tabular_data

pco32 Throughput of distributed LLM training as a function of the parallelism configuration, on 32 GPUs across 8 hosts. Tabular benchmark for the bolt problem pco32: the 379 rows are the full candidate set. Objective throughput_mean, to maximise. NaN where the run OOMed, since no throughput is observed at all -- a hidden (crash) constraint, not a bad value. Constraint ran_successfully. 339 of 379 configurations run; the rest exhaust GPU memory. Feasibility is only learnable by… See the full description on the dataset page: https://huggingface.co/datasets/Glow-AI/pco32_tabular_data.

sourceHugging Facemitupdated 20h agoView on Hugging Face
0likes28downloads
Dataset Card

pco32

Throughput of distributed LLM training as a function of the parallelism configuration, on 32 GPUs across 8 hosts. Tabular benchmark for the bolt problem pco32: the 379 rows are the full candidate set.

  • —Objective throughput_mean, to maximise. NaN where the run OOMed, since no throughput is observed at all -- a hidden (crash) constraint, not a bad value.
  • —Constraint ran_successfully. 339 of 379 configurations run; the rest exhaust GPU memory. Feasibility is only learnable by attempting the run, so it cannot be decoupled from the objective.
  • —Auxiliary peak_mem (GB, inf when infeasible), peak_mem_normalised (the run's own feasibility margin, < 0 iff feasible, a fixed pad value when infeasible) and overall_time (wall clock in seconds, NaN when infeasible).

peak_mem does not define the constraint: feasible runs here reach 88.5 GB, so no memory threshold separates the classes. peak_mem_normalised does, by construction.

Instance context

Constant for every row; these describe the instance, not the search space.

fieldvalue
num_layers40
num_attention_heads40
hidden_size5120
ffn_hidden_size17408
batch_size512
seq_length8192
log2_num_gpus5
log2_num_hosts3
log2_grad_accum_steps0

Columns

The table is the raw sweep export, unchanged. Every knob halves or doubles, so the sizes arrive as log2_* and their levels are evenly spaced. zero_stage is the raw stage (0/2/3); bolt searches it as an ordinal 0/1/2.

columnrolemeaning
log2_dp_sizeinputlog2 of data-parallel size
log2_tp_sizeinputlog2 of tensor-parallel size
log2_pp_sizeinputlog2 of pipeline-parallel size
log2_cp_sizeinputlog2 of context-parallel size
log2_sp_sizeinputlog2 of sequence-parallel size
log2_dp_bucket_size_mbinputlog2 of DDP gradient bucket size in MB
zero_stageinputZeRO stage, one of [0, 2, 3]
log2_num_model_chunksinputlog2 of number of model chunks
log2_grad_accum_stepscontextlog2 of gradient accumulation steps
ran_successfullyoutputground-truth constraint label
throughput_meanoutputobjective, NaN when infeasible
throughput_stdoutputspread over the timed steps, NaN when infeasible
peak_mem_normalisedoutputfeasibility margin, < 0 iff feasible
overall_timeoutputwall clock in seconds, NaN when infeasible
all_time_stepsoutputper-step times, as a string list
peak_memoutputpeak GPU memory in GB, inf when infeasible
peak_mem_per_gpuoutputper-GPU peak memory, as a string list

Best observed

throughput_mean = 0.46958 at log2_dp_size=5, log2_tp_size=0, log2_pp_size=0, log2_cp_size=0, log2_sp_size=0, log2_dp_bucket_size_mb=8, zero_stage=2, log2_num_model_chunks=0 (peak memory 82.6 GB).

Provenance

data_40depth-32gpus.csv, converted to parquet unchanged.