argo-train.sh now auto-selects cuda-compute-cap based on --gpu-pool: - ci-training-h100* → sm_90 (Hopper) - ci-training-l40s → sm_89 (Ada Lovelace) Added config/gpu/l40s.toml: - batch_size=4096 (between H100's 8192 and A100's 2048) - buffer_size=300K (scaled for 48GB VRAM) - gpu_timesteps_per_episode=2000 (bandwidth-limited) - gpu_n_episodes=2048 (scaled from H100's 4096) GPU profile loader maps "L40S" → "l40s" (was "a100" fallback). Also fixed pre-existing test drift: num_atoms=52 in h100.toml/a100.toml was 51 in test expectations (padding alignment for C51 kernels). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
17 lines
740 B
TOML
17 lines
740 B
TOML
# L40S (48GB GDDR6, Ada Lovelace sm_89) — datacenter GPU, lower bandwidth than H100
|
|
# 864 GB/s memory bandwidth vs H100's 3.35 TB/s (4x lower)
|
|
# 18,176 CUDA cores, 568 tensor cores (4th gen), FP8 support
|
|
[training]
|
|
batch_size = 4096 # between H100's 8192 and A100's 2048 — 48GB VRAM allows this
|
|
num_atoms = 52
|
|
buffer_size = 300000 # scaled for 48GB VRAM (H100=500K at 80GB)
|
|
hidden_dim_base = 256
|
|
replay_buffer_vram_fraction = 0.0 # exact sizing, consistent with H100
|
|
|
|
[experience]
|
|
gpu_timesteps_per_episode = 2000 # between H100's 5000 and A100's 500 — bandwidth-limited
|
|
gpu_n_episodes = 2048 # 18176 CUDA cores scaled down from H100's 4096
|
|
|
|
[cuda]
|
|
cuda_stack_bytes = 65536 # 64KB (same as H100/A100)
|