karantonis commited on
Commit
ecbe2e8
·
verified ·
1 Parent(s): b839376

lane TP throughput benchmarks

Browse files
analysis/registry_2026-10-25/bench_Qwen3-32B-FP8.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "Qwen/Qwen3-32B-FP8",
3
+ "thinking": false,
4
+ "gpu": "NVIDIA RTX 5880 Ada Generation",
5
+ "n_gpus": 1,
6
+ "n_prompts": 256,
7
+ "max_tokens": 4096,
8
+ "gpu_mem_util": 0.9,
9
+ "decode": {
10
+ "generated_tokens": 257555,
11
+ "seconds": 677.8804216384888,
12
+ "tok_per_s": 379.94164129636596,
13
+ "capped": 6,
14
+ "mean_len": 1006.07421875
15
+ },
16
+ "prefill": {
17
+ "prompt_tokens": 523387,
18
+ "seconds": 220.94462728500366,
19
+ "tok_per_s": 2368.860498811162,
20
+ "mean_len": 2044.48046875
21
+ },
22
+ "kv_cache_blocks": 2294,
23
+ "block_size": 16
24
+ }
analysis/registry_2026-10-25/bench_Qwen3-32B-FP8.log ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ INFO 10-25 12:38:29 [arg_utils.py:602] HF_HUB_OFFLINE is True, replace model_id [Qwen/Qwen3-32B-FP8] to model_path [/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df]
2
+ INFO 10-25 12:38:29 [utils.py:261] non-default args: {'max_model_len': 8192, 'disable_log_stats': True, 'model': '/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df'}
3
+ INFO 10-25 12:38:29 [model.py:541] Resolved architecture: Qwen3ForCausalLM
4
+ INFO 10-25 12:38:29 [model.py:1561] Using max model len 8192
5
+ INFO 10-25 12:38:32 [scheduler.py:226] Chunked prefill is enabled with max_num_batched_tokens=8192.
6
+ INFO 10-25 12:38:32 [vllm.py:624] Asynchronous scheduling is enabled.
7
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:38:32 [core.py:96] Initializing a V1 LLM engine (v0.15.1) with config: model='/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df', speculative_config=None, tokenizer='/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.bfloat16, max_seq_len=8192, download_dir=None, load_format=auto, tensor_parallel_size=1, pipeline_parallel_size=1, data_parallel_size=1, disable_custom_all_reduce=False, quantization=fp8, enforce_eager=False, enable_return_routed_experts=False, kv_cache_dtype=auto, device_config=cuda, structured_outputs_config=StructuredOutputsConfig(backend='auto', disable_fallback=False, disable_any_whitespace=False, disable_additional_properties=False, reasoning_parser='', reasoning_parser_plugin='', enable_in_reasoning=False), observability_config=ObservabilityConfig(show_hidden_metrics_for_version=None, otlp_traces_endpoint=None, collect_detailed_traces=None, kv_cache_metrics=False, kv_cache_metrics_sample=0.01, cudagraph_metrics=False, enable_layerwise_nvtx_tracing=False, enable_mfu_metrics=False, enable_mm_processor_stats=False, enable_logging_iteration_details=False), seed=0, served_model_name=/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df, enable_prefix_caching=True, enable_chunked_prefill=True, pooler_config=None, compilation_config={'level': None, 'mode': <CompilationMode.VLLM_COMPILE: 3>, 'debug_dump_path': None, 'cache_dir': '', 'compile_cache_save_format': 'binary', 'backend': 'inductor', 'custom_ops': ['+quant_fp8', 'none', '+quant_fp8'], 'splitting_ops': ['vllm::unified_attention', 'vllm::unified_attention_with_output', 'vllm::unified_mla_attention', 'vllm::unified_mla_attention_with_output', 'vllm::mamba_mixer2', 'vllm::mamba_mixer', 'vllm::short_conv', 'vllm::linear_attention', 'vllm::plamo2_mamba_mixer', 'vllm::gdn_attention_core', 'vllm::kda_attention', 'vllm::sparse_attn_indexer', 'vllm::rocm_aiter_sparse_attn_indexer', 'vllm::unified_kv_cache_update'], 'compile_mm_encoder': False, 'compile_sizes': [], 'compile_ranges_split_points': [8192], 'inductor_compile_config': {'enable_auto_functionalized_v2': False, 'combo_kernels': True, 'benchmark_combo_kernel': True}, 'inductor_passes': {}, 'cudagraph_mode': <CUDAGraphMode.FULL_AND_PIECEWISE: (2, 1)>, 'cudagraph_num_of_warmups': 1, 'cudagraph_capture_sizes': [1, 2, 4, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400, 416, 432, 448, 464, 480, 496, 512], 'cudagraph_copy_inputs': False, 'cudagraph_specialize_lora': True, 'use_inductor_graph_partition': False, 'pass_config': {'fuse_norm_quant': True, 'fuse_act_quant': True, 'fuse_attn_quant': False, 'eliminate_noops': True, 'enable_sp': False, 'fuse_gemm_comms': False, 'fuse_allreduce_rms': False}, 'max_cudagraph_capture_size': 512, 'dynamic_shapes_config': {'type': <DynamicShapesType.BACKED: 'backed'>, 'evaluate_guards': False, 'assume_32_bit_indexing': True}, 'local_cache_dir': None, 'static_all_moe_layers': []}
8
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:38:33 [parallel_state.py:1212] world_size=1 rank=0 local_rank=0 distributed_init_method=tcp://10.127.105.43:45483 backend=nccl
9
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:38:33 [parallel_state.py:1423] rank 0 in world size 1 is assigned as DP rank 0, PP rank 0, PCP rank 0, TP rank 0, EP rank N/A
10
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:38:34 [gpu_model_runner.py:4033] Starting to load model /mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df...
11
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:38:35 [cuda.py:364] Using FLASH_ATTN attention backend out of potential backends: ('FLASH_ATTN', 'FLASHINFER', 'TRITON_ATTN', 'FLEX_ATTENTION')
12
+ (EngineCore_DP0 pid=784894)
13
+ (EngineCore_DP0 pid=784894)
14
+ (EngineCore_DP0 pid=784894)
15
+ (EngineCore_DP0 pid=784894)
16
+ (EngineCore_DP0 pid=784894)
17
+ (EngineCore_DP0 pid=784894)
18
+ (EngineCore_DP0 pid=784894)
19
+ (EngineCore_DP0 pid=784894)
20
+ (EngineCore_DP0 pid=784894)
21
+ (EngineCore_DP0 pid=784894)
22
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:39:39 [default_loader.py:291] Loading weights took 63.41 seconds
23
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:39:39 [gpu_model_runner.py:4130] Model loading took 31.98 GiB memory and 64.632279 seconds
24
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:39:51 [backends.py:812] Using cache directory: /home/vlad.smirnov/.cache/vllm/torch_compile_cache/5153e5930e/rank_0_0/backbone for vLLM's torch.compile
25
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:39:51 [backends.py:872] Dynamo bytecode transform time: 11.82 s
26
+ (EngineCore_DP0 pid=784894) WARNING 10-25 12:39:56 [fp8_utils.py:1175] Using default W8A8 Block FP8 kernel config. Performance might be sub-optimal! Config file not found at /mnt/data/users/vlad.smirnov/conda_envs/rl-uhead/lib/python3.11/site-packages/vllm/model_executor/layers/quantization/utils/configs/N=10240,K=5120,device_name=NVIDIA_RTX_5880_Ada_Generation,dtype=fp8_w8a8,block_shape=[128,128].json
27
+ (EngineCore_DP0 pid=784894) WARNING 10-25 12:39:56 [fp8_utils.py:1175] Using default W8A8 Block FP8 kernel config. Performance might be sub-optimal! Config file not found at /mnt/data/users/vlad.smirnov/conda_envs/rl-uhead/lib/python3.11/site-packages/vllm/model_executor/layers/quantization/utils/configs/N=5120,K=8192,device_name=NVIDIA_RTX_5880_Ada_Generation,dtype=fp8_w8a8,block_shape=[128,128].json
28
+ (EngineCore_DP0 pid=784894) WARNING 10-25 12:39:56 [fp8_utils.py:1175] Using default W8A8 Block FP8 kernel config. Performance might be sub-optimal! Config file not found at /mnt/data/users/vlad.smirnov/conda_envs/rl-uhead/lib/python3.11/site-packages/vllm/model_executor/layers/quantization/utils/configs/N=51200,K=5120,device_name=NVIDIA_RTX_5880_Ada_Generation,dtype=fp8_w8a8,block_shape=[128,128].json
29
+ (EngineCore_DP0 pid=784894) WARNING 10-25 12:39:56 [fp8_utils.py:1175] Using default W8A8 Block FP8 kernel config. Performance might be sub-optimal! Config file not found at /mnt/data/users/vlad.smirnov/conda_envs/rl-uhead/lib/python3.11/site-packages/vllm/model_executor/layers/quantization/utils/configs/N=5120,K=25600,device_name=NVIDIA_RTX_5880_Ada_Generation,dtype=fp8_w8a8,block_shape=[128,128].json
30
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:39:59 [backends.py:267] Directly load the compiled graph(s) for compile range (1, 8192) from the cache, took 3.251 s
31
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:39:59 [monitor.py:34] torch.compile takes 15.07 s in total
32
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:40:01 [gpu_worker.py:356] Available KV cache memory: 8.96 GiB
33
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:40:01 [kv_cache_utils.py:1307] GPU KV cache size: 36,704 tokens
34
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:40:01 [kv_cache_utils.py:1312] Maximum concurrency for 8,192 tokens per request: 4.48x
35
+ (EngineCore_DP0 pid=784894)
36
+ (EngineCore_DP0 pid=784894)
37
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:40:11 [gpu_model_runner.py:5063] Graph capturing finished in 11 secs, took 1.12 GiB
38
+ (EngineCore_DP0 pid=784894) INFO 10-25 12:40:11 [core.py:272] init engine (profile, create kv cache, warmup model) took 31.90 seconds
39
+ INFO 10-25 12:40:12 [llm.py:343] Supported tasks: ['generate']
40
+ {
41
+ "model": "Qwen/Qwen3-32B-FP8",
42
+ "thinking": false,
43
+ "gpu": "NVIDIA RTX 5880 Ada Generation",
44
+ "n_gpus": 1,
45
+ "n_prompts": 256,
46
+ "max_tokens": 4096,
47
+ "gpu_mem_util": 0.9,
48
+ "decode": {
49
+ "generated_tokens": 257555,
50
+ "seconds": 677.8804216384888,
51
+ "tok_per_s": 379.94164129636596,
52
+ "capped": 6,
53
+ "mean_len": 1006.07421875
54
+ },
55
+ "prefill": {
56
+ "prompt_tokens": 523387,
57
+ "seconds": 220.94462728500366,
58
+ "tok_per_s": 2368.860498811162,
59
+ "mean_len": 2044.48046875
60
+ },
61
+ "kv_cache_blocks": 2294,
62
+ "block_size": 16
63
+ }
64
+ [W1025 12:55:13.820569422 AllocatorConfig.cpp:28] Warning: PYTORCH_CUDA_ALLOC_CONF is deprecated, use PYTORCH_ALLOC_CONF instead (function operator())
analysis/registry_2026-10-25/bench_Qwen3-32B-FP8.provenance.json ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "started_at": "2026-10-25T12:55:12+04:00",
3
+ "host": "ws006598",
4
+ "user": "vlad.smirnov",
5
+ "cwd": "/mnt/data/users/vlad.smirnov/rl-uhead-ood",
6
+ "argv": [
7
+ "/mnt/data/users/vlad.smirnov/rl-uhead-ood/rl_controller/scripts/throughput_bench.py",
8
+ "--model",
9
+ "Qwen/Qwen3-32B-FP8",
10
+ "--pool-dir",
11
+ "workdir/selector/pool_mth_k8_chat",
12
+ "--out",
13
+ "workdir/registry/bench_Qwen3-32B-FP8.json"
14
+ ],
15
+ "git": {
16
+ "commit": "0bfea921dff632984bf84f24836c4588eb47a6a4",
17
+ "branch": "HEAD",
18
+ "subject": "Add throughput_bench and lane TP: measured decode/prefill throughput per model for the registry",
19
+ "dirty": false,
20
+ "dirty_files": []
21
+ },
22
+ "gpus": {
23
+ "visible": "1",
24
+ "devices": [
25
+ {
26
+ "index": "0",
27
+ "name": "NVIDIA RTX 5880 Ada Generation",
28
+ "memory": "49140 MiB",
29
+ "driver": "580.178.04",
30
+ "uuid": "GPU-eb08932b-fbcd-41ce-e1e2-6fd7b02de161"
31
+ },
32
+ {
33
+ "index": "1",
34
+ "name": "NVIDIA RTX 5880 Ada Generation",
35
+ "memory": "49140 MiB",
36
+ "driver": "580.178.04",
37
+ "uuid": "GPU-cc1e8db2-7843-a8e9-8191-088167fb3499"
38
+ }
39
+ ]
40
+ },
41
+ "packages": {
42
+ "python": "3.11.15",
43
+ "torch": "2.9.1",
44
+ "vllm": "0.15.1",
45
+ "transformers": "4.57.6",
46
+ "speculators": "0.4.0.dev49",
47
+ "peft": null,
48
+ "accelerate": "1.13.0",
49
+ "numpy": "2.2.6",
50
+ "huggingface_hub": "0.36.2",
51
+ "openai": "2.32.0",
52
+ "wandb": "0.25.1",
53
+ "torch_cuda": "12.8"
54
+ },
55
+ "env": {
56
+ "CUDA_VISIBLE_DEVICES": "1",
57
+ "HF_HOME": "/mnt/data/users/vlad.smirnov/hf_cache",
58
+ "HF_HUB_OFFLINE": "1",
59
+ "TRANSFORMERS_OFFLINE": "1",
60
+ "NCCL_P2P_DISABLE": "1",
61
+ "PYTORCH_CUDA_ALLOC_CONF": "expandable_segments:True"
62
+ },
63
+ "models": [
64
+ {
65
+ "repo": "Qwen/Qwen3-32B-FP8",
66
+ "revision": "aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df",
67
+ "path": "/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df"
68
+ }
69
+ ],
70
+ "files": {},
71
+ "finished_at": "2026-10-25T12:55:12+04:00",
72
+ "wall_secs": 0.1
73
+ }
analysis/registry_2026-10-25/bench_Qwen3-32B-FP8_think.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "Qwen/Qwen3-32B-FP8",
3
+ "thinking": true,
4
+ "gpu": "NVIDIA RTX 5880 Ada Generation",
5
+ "n_gpus": 1,
6
+ "n_prompts": 256,
7
+ "max_tokens": 4096,
8
+ "gpu_mem_util": 0.9,
9
+ "decode": {
10
+ "generated_tokens": 885894,
11
+ "seconds": 3450.798579454422,
12
+ "tok_per_s": 256.72144566028584,
13
+ "capped": 129,
14
+ "mean_len": 3460.5234375
15
+ },
16
+ "prefill": {
17
+ "prompt_tokens": 522363,
18
+ "seconds": 220.4746448993683,
19
+ "tok_per_s": 2369.2656370460345,
20
+ "mean_len": 2040.48046875
21
+ },
22
+ "kv_cache_blocks": 2294,
23
+ "block_size": 16
24
+ }
analysis/registry_2026-10-25/bench_Qwen3-32B-FP8_think.log ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ INFO 10-25 12:55:17 [arg_utils.py:602] HF_HUB_OFFLINE is True, replace model_id [Qwen/Qwen3-32B-FP8] to model_path [/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df]
2
+ INFO 10-25 12:55:17 [utils.py:261] non-default args: {'max_model_len': 8192, 'disable_log_stats': True, 'model': '/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df'}
3
+ INFO 10-25 12:55:17 [model.py:541] Resolved architecture: Qwen3ForCausalLM
4
+ INFO 10-25 12:55:17 [model.py:1561] Using max model len 8192
5
+ INFO 10-25 12:55:18 [scheduler.py:226] Chunked prefill is enabled with max_num_batched_tokens=8192.
6
+ INFO 10-25 12:55:18 [vllm.py:624] Asynchronous scheduling is enabled.
7
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:19 [core.py:96] Initializing a V1 LLM engine (v0.15.1) with config: model='/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df', speculative_config=None, tokenizer='/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.bfloat16, max_seq_len=8192, download_dir=None, load_format=auto, tensor_parallel_size=1, pipeline_parallel_size=1, data_parallel_size=1, disable_custom_all_reduce=False, quantization=fp8, enforce_eager=False, enable_return_routed_experts=False, kv_cache_dtype=auto, device_config=cuda, structured_outputs_config=StructuredOutputsConfig(backend='auto', disable_fallback=False, disable_any_whitespace=False, disable_additional_properties=False, reasoning_parser='', reasoning_parser_plugin='', enable_in_reasoning=False), observability_config=ObservabilityConfig(show_hidden_metrics_for_version=None, otlp_traces_endpoint=None, collect_detailed_traces=None, kv_cache_metrics=False, kv_cache_metrics_sample=0.01, cudagraph_metrics=False, enable_layerwise_nvtx_tracing=False, enable_mfu_metrics=False, enable_mm_processor_stats=False, enable_logging_iteration_details=False), seed=0, served_model_name=/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df, enable_prefix_caching=True, enable_chunked_prefill=True, pooler_config=None, compilation_config={'level': None, 'mode': <CompilationMode.VLLM_COMPILE: 3>, 'debug_dump_path': None, 'cache_dir': '', 'compile_cache_save_format': 'binary', 'backend': 'inductor', 'custom_ops': ['+quant_fp8', 'none', '+quant_fp8'], 'splitting_ops': ['vllm::unified_attention', 'vllm::unified_attention_with_output', 'vllm::unified_mla_attention', 'vllm::unified_mla_attention_with_output', 'vllm::mamba_mixer2', 'vllm::mamba_mixer', 'vllm::short_conv', 'vllm::linear_attention', 'vllm::plamo2_mamba_mixer', 'vllm::gdn_attention_core', 'vllm::kda_attention', 'vllm::sparse_attn_indexer', 'vllm::rocm_aiter_sparse_attn_indexer', 'vllm::unified_kv_cache_update'], 'compile_mm_encoder': False, 'compile_sizes': [], 'compile_ranges_split_points': [8192], 'inductor_compile_config': {'enable_auto_functionalized_v2': False, 'combo_kernels': True, 'benchmark_combo_kernel': True}, 'inductor_passes': {}, 'cudagraph_mode': <CUDAGraphMode.FULL_AND_PIECEWISE: (2, 1)>, 'cudagraph_num_of_warmups': 1, 'cudagraph_capture_sizes': [1, 2, 4, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400, 416, 432, 448, 464, 480, 496, 512], 'cudagraph_copy_inputs': False, 'cudagraph_specialize_lora': True, 'use_inductor_graph_partition': False, 'pass_config': {'fuse_norm_quant': True, 'fuse_act_quant': True, 'fuse_attn_quant': False, 'eliminate_noops': True, 'enable_sp': False, 'fuse_gemm_comms': False, 'fuse_allreduce_rms': False}, 'max_cudagraph_capture_size': 512, 'dynamic_shapes_config': {'type': <DynamicShapesType.BACKED: 'backed'>, 'evaluate_guards': False, 'assume_32_bit_indexing': True}, 'local_cache_dir': None, 'static_all_moe_layers': []}
8
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:19 [parallel_state.py:1212] world_size=1 rank=0 local_rank=0 distributed_init_method=tcp://10.127.105.43:34899 backend=nccl
9
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:19 [parallel_state.py:1423] rank 0 in world size 1 is assigned as DP rank 0, PP rank 0, PCP rank 0, TP rank 0, EP rank N/A
10
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:20 [gpu_model_runner.py:4033] Starting to load model /mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df...
11
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:20 [cuda.py:364] Using FLASH_ATTN attention backend out of potential backends: ('FLASH_ATTN', 'FLASHINFER', 'TRITON_ATTN', 'FLEX_ATTENTION')
12
+ (EngineCore_DP0 pid=790900)
13
+ (EngineCore_DP0 pid=790900)
14
+ (EngineCore_DP0 pid=790900)
15
+ (EngineCore_DP0 pid=790900)
16
+ (EngineCore_DP0 pid=790900)
17
+ (EngineCore_DP0 pid=790900)
18
+ (EngineCore_DP0 pid=790900)
19
+ (EngineCore_DP0 pid=790900)
20
+ (EngineCore_DP0 pid=790900)
21
+ (EngineCore_DP0 pid=790900)
22
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:27 [default_loader.py:291] Loading weights took 6.20 seconds
23
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:27 [gpu_model_runner.py:4130] Model loading took 31.98 GiB memory and 6.792689 seconds
24
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:35 [backends.py:812] Using cache directory: /home/vlad.smirnov/.cache/vllm/torch_compile_cache/5153e5930e/rank_0_0/backbone for vLLM's torch.compile
25
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:35 [backends.py:872] Dynamo bytecode transform time: 8.07 s
26
+ (EngineCore_DP0 pid=790900) WARNING 10-25 12:55:40 [fp8_utils.py:1175] Using default W8A8 Block FP8 kernel config. Performance might be sub-optimal! Config file not found at /mnt/data/users/vlad.smirnov/conda_envs/rl-uhead/lib/python3.11/site-packages/vllm/model_executor/layers/quantization/utils/configs/N=10240,K=5120,device_name=NVIDIA_RTX_5880_Ada_Generation,dtype=fp8_w8a8,block_shape=[128,128].json
27
+ (EngineCore_DP0 pid=790900) WARNING 10-25 12:55:40 [fp8_utils.py:1175] Using default W8A8 Block FP8 kernel config. Performance might be sub-optimal! Config file not found at /mnt/data/users/vlad.smirnov/conda_envs/rl-uhead/lib/python3.11/site-packages/vllm/model_executor/layers/quantization/utils/configs/N=5120,K=8192,device_name=NVIDIA_RTX_5880_Ada_Generation,dtype=fp8_w8a8,block_shape=[128,128].json
28
+ (EngineCore_DP0 pid=790900) WARNING 10-25 12:55:40 [fp8_utils.py:1175] Using default W8A8 Block FP8 kernel config. Performance might be sub-optimal! Config file not found at /mnt/data/users/vlad.smirnov/conda_envs/rl-uhead/lib/python3.11/site-packages/vllm/model_executor/layers/quantization/utils/configs/N=51200,K=5120,device_name=NVIDIA_RTX_5880_Ada_Generation,dtype=fp8_w8a8,block_shape=[128,128].json
29
+ (EngineCore_DP0 pid=790900) WARNING 10-25 12:55:40 [fp8_utils.py:1175] Using default W8A8 Block FP8 kernel config. Performance might be sub-optimal! Config file not found at /mnt/data/users/vlad.smirnov/conda_envs/rl-uhead/lib/python3.11/site-packages/vllm/model_executor/layers/quantization/utils/configs/N=5120,K=25600,device_name=NVIDIA_RTX_5880_Ada_Generation,dtype=fp8_w8a8,block_shape=[128,128].json
30
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:43 [backends.py:267] Directly load the compiled graph(s) for compile range (1, 8192) from the cache, took 3.118 s
31
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:43 [monitor.py:34] torch.compile takes 11.19 s in total
32
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:45 [gpu_worker.py:356] Available KV cache memory: 8.96 GiB
33
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:45 [kv_cache_utils.py:1307] GPU KV cache size: 36,704 tokens
34
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:45 [kv_cache_utils.py:1312] Maximum concurrency for 8,192 tokens per request: 4.48x
35
+ (EngineCore_DP0 pid=790900)
36
+ (EngineCore_DP0 pid=790900)
37
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:55 [gpu_model_runner.py:5063] Graph capturing finished in 11 secs, took 1.12 GiB
38
+ (EngineCore_DP0 pid=790900) INFO 10-25 12:55:55 [core.py:272] init engine (profile, create kv cache, warmup model) took 28.11 seconds
39
+ INFO 10-25 12:55:56 [llm.py:343] Supported tasks: ['generate']
40
+ {
41
+ "model": "Qwen/Qwen3-32B-FP8",
42
+ "thinking": true,
43
+ "gpu": "NVIDIA RTX 5880 Ada Generation",
44
+ "n_gpus": 1,
45
+ "n_prompts": 256,
46
+ "max_tokens": 4096,
47
+ "gpu_mem_util": 0.9,
48
+ "decode": {
49
+ "generated_tokens": 885894,
50
+ "seconds": 3450.798579454422,
51
+ "tok_per_s": 256.72144566028584,
52
+ "capped": 129,
53
+ "mean_len": 3460.5234375
54
+ },
55
+ "prefill": {
56
+ "prompt_tokens": 522363,
57
+ "seconds": 220.4746448993683,
58
+ "tok_per_s": 2369.2656370460345,
59
+ "mean_len": 2040.48046875
60
+ },
61
+ "kv_cache_blocks": 2294,
62
+ "block_size": 16
63
+ }
64
+ [W1025 13:57:10.310955141 AllocatorConfig.cpp:28] Warning: PYTORCH_CUDA_ALLOC_CONF is deprecated, use PYTORCH_ALLOC_CONF instead (function operator())
analysis/registry_2026-10-25/bench_Qwen3-32B-FP8_think.provenance.json ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "started_at": "2026-10-25T13:57:09+04:00",
3
+ "host": "ws006598",
4
+ "user": "vlad.smirnov",
5
+ "cwd": "/mnt/data/users/vlad.smirnov/rl-uhead-ood",
6
+ "argv": [
7
+ "/mnt/data/users/vlad.smirnov/rl-uhead-ood/rl_controller/scripts/throughput_bench.py",
8
+ "--model",
9
+ "Qwen/Qwen3-32B-FP8",
10
+ "--thinking",
11
+ "--pool-dir",
12
+ "workdir/selector/pool_mth_k8_chat",
13
+ "--out",
14
+ "workdir/registry/bench_Qwen3-32B-FP8_think.json"
15
+ ],
16
+ "git": {
17
+ "commit": "0bfea921dff632984bf84f24836c4588eb47a6a4",
18
+ "branch": "HEAD",
19
+ "subject": "Add throughput_bench and lane TP: measured decode/prefill throughput per model for the registry",
20
+ "dirty": false,
21
+ "dirty_files": []
22
+ },
23
+ "gpus": {
24
+ "visible": "1",
25
+ "devices": [
26
+ {
27
+ "index": "0",
28
+ "name": "NVIDIA RTX 5880 Ada Generation",
29
+ "memory": "49140 MiB",
30
+ "driver": "580.178.04",
31
+ "uuid": "GPU-eb08932b-fbcd-41ce-e1e2-6fd7b02de161"
32
+ },
33
+ {
34
+ "index": "1",
35
+ "name": "NVIDIA RTX 5880 Ada Generation",
36
+ "memory": "49140 MiB",
37
+ "driver": "580.178.04",
38
+ "uuid": "GPU-cc1e8db2-7843-a8e9-8191-088167fb3499"
39
+ }
40
+ ]
41
+ },
42
+ "packages": {
43
+ "python": "3.11.15",
44
+ "torch": "2.9.1",
45
+ "vllm": "0.15.1",
46
+ "transformers": "4.57.6",
47
+ "speculators": "0.4.0.dev49",
48
+ "peft": null,
49
+ "accelerate": "1.13.0",
50
+ "numpy": "2.2.6",
51
+ "huggingface_hub": "0.36.2",
52
+ "openai": "2.32.0",
53
+ "wandb": "0.25.1",
54
+ "torch_cuda": "12.8"
55
+ },
56
+ "env": {
57
+ "CUDA_VISIBLE_DEVICES": "1",
58
+ "HF_HOME": "/mnt/data/users/vlad.smirnov/hf_cache",
59
+ "HF_HUB_OFFLINE": "1",
60
+ "TRANSFORMERS_OFFLINE": "1",
61
+ "NCCL_P2P_DISABLE": "1",
62
+ "PYTORCH_CUDA_ALLOC_CONF": "expandable_segments:True"
63
+ },
64
+ "models": [
65
+ {
66
+ "repo": "Qwen/Qwen3-32B-FP8",
67
+ "revision": "aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df",
68
+ "path": "/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-32B-FP8/snapshots/aa55da1ecc13d006e8b8e4f54579b1ea8c3db2df"
69
+ }
70
+ ],
71
+ "files": {},
72
+ "finished_at": "2026-10-25T13:57:09+04:00",
73
+ "wall_secs": 0.0
74
+ }
analysis/registry_2026-10-25/bench_Qwen3-8B.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "Qwen/Qwen3-8B",
3
+ "thinking": false,
4
+ "gpu": "NVIDIA RTX 5880 Ada Generation",
5
+ "n_gpus": 1,
6
+ "n_prompts": 256,
7
+ "max_tokens": 4096,
8
+ "gpu_mem_util": 0.9,
9
+ "decode": {
10
+ "generated_tokens": 284294,
11
+ "seconds": 180.27869725227356,
12
+ "tok_per_s": 1576.9694608019731,
13
+ "capped": 9,
14
+ "mean_len": 1110.5234375
15
+ },
16
+ "prefill": {
17
+ "prompt_tokens": 523387,
18
+ "seconds": 83.14631795883179,
19
+ "tok_per_s": 6294.7706266336945,
20
+ "mean_len": 2044.48046875
21
+ },
22
+ "kv_cache_blocks": 11778,
23
+ "block_size": 16
24
+ }
analysis/registry_2026-10-25/bench_Qwen3-8B.log ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ INFO 10-25 12:18:30 [arg_utils.py:602] HF_HUB_OFFLINE is True, replace model_id [Qwen/Qwen3-8B] to model_path [/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218]
2
+ INFO 10-25 12:18:31 [utils.py:261] non-default args: {'max_model_len': 8192, 'disable_log_stats': True, 'model': '/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218'}
3
+ INFO 10-25 12:18:31 [model.py:541] Resolved architecture: Qwen3ForCausalLM
4
+ INFO 10-25 12:18:31 [model.py:1561] Using max model len 8192
5
+ INFO 10-25 12:18:31 [scheduler.py:226] Chunked prefill is enabled with max_num_batched_tokens=8192.
6
+ INFO 10-25 12:18:31 [vllm.py:624] Asynchronous scheduling is enabled.
7
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:18:32 [core.py:96] Initializing a V1 LLM engine (v0.15.1) with config: model='/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218', speculative_config=None, tokenizer='/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.bfloat16, max_seq_len=8192, download_dir=None, load_format=auto, tensor_parallel_size=1, pipeline_parallel_size=1, data_parallel_size=1, disable_custom_all_reduce=False, quantization=None, enforce_eager=False, enable_return_routed_experts=False, kv_cache_dtype=auto, device_config=cuda, structured_outputs_config=StructuredOutputsConfig(backend='auto', disable_fallback=False, disable_any_whitespace=False, disable_additional_properties=False, reasoning_parser='', reasoning_parser_plugin='', enable_in_reasoning=False), observability_config=ObservabilityConfig(show_hidden_metrics_for_version=None, otlp_traces_endpoint=None, collect_detailed_traces=None, kv_cache_metrics=False, kv_cache_metrics_sample=0.01, cudagraph_metrics=False, enable_layerwise_nvtx_tracing=False, enable_mfu_metrics=False, enable_mm_processor_stats=False, enable_logging_iteration_details=False), seed=0, served_model_name=/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218, enable_prefix_caching=True, enable_chunked_prefill=True, pooler_config=None, compilation_config={'level': None, 'mode': <CompilationMode.VLLM_COMPILE: 3>, 'debug_dump_path': None, 'cache_dir': '', 'compile_cache_save_format': 'binary', 'backend': 'inductor', 'custom_ops': ['none'], 'splitting_ops': ['vllm::unified_attention', 'vllm::unified_attention_with_output', 'vllm::unified_mla_attention', 'vllm::unified_mla_attention_with_output', 'vllm::mamba_mixer2', 'vllm::mamba_mixer', 'vllm::short_conv', 'vllm::linear_attention', 'vllm::plamo2_mamba_mixer', 'vllm::gdn_attention_core', 'vllm::kda_attention', 'vllm::sparse_attn_indexer', 'vllm::rocm_aiter_sparse_attn_indexer', 'vllm::unified_kv_cache_update'], 'compile_mm_encoder': False, 'compile_sizes': [], 'compile_ranges_split_points': [8192], 'inductor_compile_config': {'enable_auto_functionalized_v2': False, 'combo_kernels': True, 'benchmark_combo_kernel': True}, 'inductor_passes': {}, 'cudagraph_mode': <CUDAGraphMode.FULL_AND_PIECEWISE: (2, 1)>, 'cudagraph_num_of_warmups': 1, 'cudagraph_capture_sizes': [1, 2, 4, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400, 416, 432, 448, 464, 480, 496, 512], 'cudagraph_copy_inputs': False, 'cudagraph_specialize_lora': True, 'use_inductor_graph_partition': False, 'pass_config': {'fuse_norm_quant': False, 'fuse_act_quant': False, 'fuse_attn_quant': False, 'eliminate_noops': True, 'enable_sp': False, 'fuse_gemm_comms': False, 'fuse_allreduce_rms': False}, 'max_cudagraph_capture_size': 512, 'dynamic_shapes_config': {'type': <DynamicShapesType.BACKED: 'backed'>, 'evaluate_guards': False, 'assume_32_bit_indexing': True}, 'local_cache_dir': None, 'static_all_moe_layers': []}
8
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:18:34 [parallel_state.py:1212] world_size=1 rank=0 local_rank=0 distributed_init_method=tcp://10.127.105.43:57441 backend=nccl
9
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:18:35 [parallel_state.py:1423] rank 0 in world size 1 is assigned as DP rank 0, PP rank 0, PCP rank 0, TP rank 0, EP rank N/A
10
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:18:36 [gpu_model_runner.py:4033] Starting to load model /mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218...
11
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:18:37 [cuda.py:364] Using FLASH_ATTN attention backend out of potential backends: ('FLASH_ATTN', 'FLASHINFER', 'TRITON_ATTN', 'FLEX_ATTENTION')
12
+ (EngineCore_DP0 pid=777638)
13
+ (EngineCore_DP0 pid=777638)
14
+ (EngineCore_DP0 pid=777638)
15
+ (EngineCore_DP0 pid=777638)
16
+ (EngineCore_DP0 pid=777638)
17
+ (EngineCore_DP0 pid=777638)
18
+ (EngineCore_DP0 pid=777638)
19
+ (EngineCore_DP0 pid=777638)
20
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:18:51 [default_loader.py:291] Loading weights took 13.54 seconds
21
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:18:51 [gpu_model_runner.py:4130] Model loading took 15.27 GiB memory and 14.957416 seconds
22
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:18:59 [backends.py:812] Using cache directory: /home/vlad.smirnov/.cache/vllm/torch_compile_cache/5250b7e167/rank_0_0/backbone for vLLM's torch.compile
23
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:18:59 [backends.py:872] Dynamo bytecode transform time: 7.77 s
24
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:19:02 [backends.py:267] Directly load the compiled graph(s) for compile range (1, 8192) from the cache, took 1.110 s
25
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:19:02 [monitor.py:34] torch.compile takes 8.88 s in total
26
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:19:03 [gpu_worker.py:356] Available KV cache memory: 25.88 GiB
27
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:19:03 [kv_cache_utils.py:1307] GPU KV cache size: 188,448 tokens
28
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:19:03 [kv_cache_utils.py:1312] Maximum concurrency for 8,192 tokens per request: 23.00x
29
+ (EngineCore_DP0 pid=777638)
30
+ (EngineCore_DP0 pid=777638)
31
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:19:07 [gpu_model_runner.py:5063] Graph capturing finished in 4 secs, took 0.56 GiB
32
+ (EngineCore_DP0 pid=777638) INFO 10-25 12:19:07 [core.py:272] init engine (profile, create kv cache, warmup model) took 16.17 seconds
33
+ INFO 10-25 12:19:08 [llm.py:343] Supported tasks: ['generate']
34
+ {
35
+ "model": "Qwen/Qwen3-8B",
36
+ "thinking": false,
37
+ "gpu": "NVIDIA RTX 5880 Ada Generation",
38
+ "n_gpus": 1,
39
+ "n_prompts": 256,
40
+ "max_tokens": 4096,
41
+ "gpu_mem_util": 0.9,
42
+ "decode": {
43
+ "generated_tokens": 284294,
44
+ "seconds": 180.27869725227356,
45
+ "tok_per_s": 1576.9694608019731,
46
+ "capped": 9,
47
+ "mean_len": 1110.5234375
48
+ },
49
+ "prefill": {
50
+ "prompt_tokens": 523387,
51
+ "seconds": 83.14631795883179,
52
+ "tok_per_s": 6294.7706266336945,
53
+ "mean_len": 2044.48046875
54
+ },
55
+ "kv_cache_blocks": 11778,
56
+ "block_size": 16
57
+ }
58
+ [W1025 12:23:34.955082452 AllocatorConfig.cpp:28] Warning: PYTORCH_CUDA_ALLOC_CONF is deprecated, use PYTORCH_ALLOC_CONF instead (function operator())
analysis/registry_2026-10-25/bench_Qwen3-8B.provenance.json ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "started_at": "2026-10-25T12:23:32+04:00",
3
+ "host": "ws006598",
4
+ "user": "vlad.smirnov",
5
+ "cwd": "/mnt/data/users/vlad.smirnov/rl-uhead-ood",
6
+ "argv": [
7
+ "/mnt/data/users/vlad.smirnov/rl-uhead-ood/rl_controller/scripts/throughput_bench.py",
8
+ "--model",
9
+ "Qwen/Qwen3-8B",
10
+ "--pool-dir",
11
+ "workdir/selector/pool_mth_k8_chat",
12
+ "--out",
13
+ "workdir/registry/bench_Qwen3-8B.json"
14
+ ],
15
+ "git": {
16
+ "commit": "0bfea921dff632984bf84f24836c4588eb47a6a4",
17
+ "branch": "HEAD",
18
+ "subject": "Add throughput_bench and lane TP: measured decode/prefill throughput per model for the registry",
19
+ "dirty": false,
20
+ "dirty_files": []
21
+ },
22
+ "gpus": {
23
+ "visible": "1",
24
+ "devices": [
25
+ {
26
+ "index": "0",
27
+ "name": "NVIDIA RTX 5880 Ada Generation",
28
+ "memory": "49140 MiB",
29
+ "driver": "580.178.04",
30
+ "uuid": "GPU-eb08932b-fbcd-41ce-e1e2-6fd7b02de161"
31
+ },
32
+ {
33
+ "index": "1",
34
+ "name": "NVIDIA RTX 5880 Ada Generation",
35
+ "memory": "49140 MiB",
36
+ "driver": "580.178.04",
37
+ "uuid": "GPU-cc1e8db2-7843-a8e9-8191-088167fb3499"
38
+ }
39
+ ]
40
+ },
41
+ "packages": {
42
+ "python": "3.11.15",
43
+ "torch": "2.9.1",
44
+ "vllm": "0.15.1",
45
+ "transformers": "4.57.6",
46
+ "speculators": "0.4.0.dev49",
47
+ "peft": null,
48
+ "accelerate": "1.13.0",
49
+ "numpy": "2.2.6",
50
+ "huggingface_hub": "0.36.2",
51
+ "openai": "2.32.0",
52
+ "wandb": "0.25.1",
53
+ "torch_cuda": "12.8"
54
+ },
55
+ "env": {
56
+ "CUDA_VISIBLE_DEVICES": "1",
57
+ "HF_HOME": "/mnt/data/users/vlad.smirnov/hf_cache",
58
+ "HF_HUB_OFFLINE": "1",
59
+ "TRANSFORMERS_OFFLINE": "1",
60
+ "NCCL_P2P_DISABLE": "1",
61
+ "PYTORCH_CUDA_ALLOC_CONF": "expandable_segments:True"
62
+ },
63
+ "models": [
64
+ {
65
+ "repo": "Qwen/Qwen3-8B",
66
+ "revision": "b968826d9c46dd6066d109eabc6255188de91218",
67
+ "path": "/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218"
68
+ }
69
+ ],
70
+ "files": {},
71
+ "finished_at": "2026-10-25T12:23:32+04:00",
72
+ "wall_secs": 0.2
73
+ }
analysis/registry_2026-10-25/bench_Qwen3-8B_think.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "Qwen/Qwen3-8B",
3
+ "thinking": true,
4
+ "gpu": "NVIDIA RTX 5880 Ada Generation",
5
+ "n_gpus": 1,
6
+ "n_prompts": 256,
7
+ "max_tokens": 4096,
8
+ "gpu_mem_util": 0.9,
9
+ "decode": {
10
+ "generated_tokens": 929161,
11
+ "seconds": 769.5907077789307,
12
+ "tok_per_s": 1207.3443592914414,
13
+ "capped": 160,
14
+ "mean_len": 3629.53515625
15
+ },
16
+ "prefill": {
17
+ "prompt_tokens": 522363,
18
+ "seconds": 83.4063332080841,
19
+ "tok_per_s": 6262.869735524716,
20
+ "mean_len": 2040.48046875
21
+ },
22
+ "kv_cache_blocks": 11778,
23
+ "block_size": 16
24
+ }
analysis/registry_2026-10-25/bench_Qwen3-8B_think.log ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ INFO 10-25 12:23:38 [arg_utils.py:602] HF_HUB_OFFLINE is True, replace model_id [Qwen/Qwen3-8B] to model_path [/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218]
2
+ INFO 10-25 12:23:38 [utils.py:261] non-default args: {'max_model_len': 8192, 'disable_log_stats': True, 'model': '/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218'}
3
+ INFO 10-25 12:23:38 [model.py:541] Resolved architecture: Qwen3ForCausalLM
4
+ INFO 10-25 12:23:38 [model.py:1561] Using max model len 8192
5
+ INFO 10-25 12:23:38 [scheduler.py:226] Chunked prefill is enabled with max_num_batched_tokens=8192.
6
+ INFO 10-25 12:23:38 [vllm.py:624] Asynchronous scheduling is enabled.
7
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:38 [core.py:96] Initializing a V1 LLM engine (v0.15.1) with config: model='/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218', speculative_config=None, tokenizer='/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.bfloat16, max_seq_len=8192, download_dir=None, load_format=auto, tensor_parallel_size=1, pipeline_parallel_size=1, data_parallel_size=1, disable_custom_all_reduce=False, quantization=None, enforce_eager=False, enable_return_routed_experts=False, kv_cache_dtype=auto, device_config=cuda, structured_outputs_config=StructuredOutputsConfig(backend='auto', disable_fallback=False, disable_any_whitespace=False, disable_additional_properties=False, reasoning_parser='', reasoning_parser_plugin='', enable_in_reasoning=False), observability_config=ObservabilityConfig(show_hidden_metrics_for_version=None, otlp_traces_endpoint=None, collect_detailed_traces=None, kv_cache_metrics=False, kv_cache_metrics_sample=0.01, cudagraph_metrics=False, enable_layerwise_nvtx_tracing=False, enable_mfu_metrics=False, enable_mm_processor_stats=False, enable_logging_iteration_details=False), seed=0, served_model_name=/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218, enable_prefix_caching=True, enable_chunked_prefill=True, pooler_config=None, compilation_config={'level': None, 'mode': <CompilationMode.VLLM_COMPILE: 3>, 'debug_dump_path': None, 'cache_dir': '', 'compile_cache_save_format': 'binary', 'backend': 'inductor', 'custom_ops': ['none'], 'splitting_ops': ['vllm::unified_attention', 'vllm::unified_attention_with_output', 'vllm::unified_mla_attention', 'vllm::unified_mla_attention_with_output', 'vllm::mamba_mixer2', 'vllm::mamba_mixer', 'vllm::short_conv', 'vllm::linear_attention', 'vllm::plamo2_mamba_mixer', 'vllm::gdn_attention_core', 'vllm::kda_attention', 'vllm::sparse_attn_indexer', 'vllm::rocm_aiter_sparse_attn_indexer', 'vllm::unified_kv_cache_update'], 'compile_mm_encoder': False, 'compile_sizes': [], 'compile_ranges_split_points': [8192], 'inductor_compile_config': {'enable_auto_functionalized_v2': False, 'combo_kernels': True, 'benchmark_combo_kernel': True}, 'inductor_passes': {}, 'cudagraph_mode': <CUDAGraphMode.FULL_AND_PIECEWISE: (2, 1)>, 'cudagraph_num_of_warmups': 1, 'cudagraph_capture_sizes': [1, 2, 4, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400, 416, 432, 448, 464, 480, 496, 512], 'cudagraph_copy_inputs': False, 'cudagraph_specialize_lora': True, 'use_inductor_graph_partition': False, 'pass_config': {'fuse_norm_quant': False, 'fuse_act_quant': False, 'fuse_attn_quant': False, 'eliminate_noops': True, 'enable_sp': False, 'fuse_gemm_comms': False, 'fuse_allreduce_rms': False}, 'max_cudagraph_capture_size': 512, 'dynamic_shapes_config': {'type': <DynamicShapesType.BACKED: 'backed'>, 'evaluate_guards': False, 'assume_32_bit_indexing': True}, 'local_cache_dir': None, 'static_all_moe_layers': []}
8
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:40 [parallel_state.py:1212] world_size=1 rank=0 local_rank=0 distributed_init_method=tcp://10.127.105.43:44805 backend=nccl
9
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:40 [parallel_state.py:1423] rank 0 in world size 1 is assigned as DP rank 0, PP rank 0, PCP rank 0, TP rank 0, EP rank N/A
10
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:40 [gpu_model_runner.py:4033] Starting to load model /mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218...
11
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:41 [cuda.py:364] Using FLASH_ATTN attention backend out of potential backends: ('FLASH_ATTN', 'FLASHINFER', 'TRITON_ATTN', 'FLEX_ATTENTION')
12
+ (EngineCore_DP0 pid=779544)
13
+ (EngineCore_DP0 pid=779544)
14
+ (EngineCore_DP0 pid=779544)
15
+ (EngineCore_DP0 pid=779544)
16
+ (EngineCore_DP0 pid=779544)
17
+ (EngineCore_DP0 pid=779544)
18
+ (EngineCore_DP0 pid=779544)
19
+ (EngineCore_DP0 pid=779544)
20
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:44 [default_loader.py:291] Loading weights took 3.12 seconds
21
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:44 [gpu_model_runner.py:4130] Model loading took 15.27 GiB memory and 3.527412 seconds
22
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:48 [backends.py:812] Using cache directory: /home/vlad.smirnov/.cache/vllm/torch_compile_cache/5250b7e167/rank_0_0/backbone for vLLM's torch.compile
23
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:48 [backends.py:872] Dynamo bytecode transform time: 3.39 s
24
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:51 [backends.py:267] Directly load the compiled graph(s) for compile range (1, 8192) from the cache, took 1.106 s
25
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:51 [monitor.py:34] torch.compile takes 4.50 s in total
26
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:52 [gpu_worker.py:356] Available KV cache memory: 25.88 GiB
27
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:52 [kv_cache_utils.py:1307] GPU KV cache size: 188,448 tokens
28
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:52 [kv_cache_utils.py:1312] Maximum concurrency for 8,192 tokens per request: 23.00x
29
+ (EngineCore_DP0 pid=779544)
30
+ (EngineCore_DP0 pid=779544)
31
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:56 [gpu_model_runner.py:5063] Graph capturing finished in 4 secs, took 0.56 GiB
32
+ (EngineCore_DP0 pid=779544) INFO 10-25 12:23:56 [core.py:272] init engine (profile, create kv cache, warmup model) took 11.98 seconds
33
+ INFO 10-25 12:23:57 [llm.py:343] Supported tasks: ['generate']
34
+ {
35
+ "model": "Qwen/Qwen3-8B",
36
+ "thinking": true,
37
+ "gpu": "NVIDIA RTX 5880 Ada Generation",
38
+ "n_gpus": 1,
39
+ "n_prompts": 256,
40
+ "max_tokens": 4096,
41
+ "gpu_mem_util": 0.9,
42
+ "decode": {
43
+ "generated_tokens": 929161,
44
+ "seconds": 769.5907077789307,
45
+ "tok_per_s": 1207.3443592914414,
46
+ "capped": 160,
47
+ "mean_len": 3629.53515625
48
+ },
49
+ "prefill": {
50
+ "prompt_tokens": 522363,
51
+ "seconds": 83.4063332080841,
52
+ "tok_per_s": 6262.869735524716,
53
+ "mean_len": 2040.48046875
54
+ },
55
+ "kv_cache_blocks": 11778,
56
+ "block_size": 16
57
+ }
58
+ [W1025 12:38:12.056032103 AllocatorConfig.cpp:28] Warning: PYTORCH_CUDA_ALLOC_CONF is deprecated, use PYTORCH_ALLOC_CONF instead (function operator())
analysis/registry_2026-10-25/bench_Qwen3-8B_think.provenance.json ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "started_at": "2026-10-25T12:38:11+04:00",
3
+ "host": "ws006598",
4
+ "user": "vlad.smirnov",
5
+ "cwd": "/mnt/data/users/vlad.smirnov/rl-uhead-ood",
6
+ "argv": [
7
+ "/mnt/data/users/vlad.smirnov/rl-uhead-ood/rl_controller/scripts/throughput_bench.py",
8
+ "--model",
9
+ "Qwen/Qwen3-8B",
10
+ "--thinking",
11
+ "--pool-dir",
12
+ "workdir/selector/pool_mth_k8_chat",
13
+ "--out",
14
+ "workdir/registry/bench_Qwen3-8B_think.json"
15
+ ],
16
+ "git": {
17
+ "commit": "0bfea921dff632984bf84f24836c4588eb47a6a4",
18
+ "branch": "HEAD",
19
+ "subject": "Add throughput_bench and lane TP: measured decode/prefill throughput per model for the registry",
20
+ "dirty": false,
21
+ "dirty_files": []
22
+ },
23
+ "gpus": {
24
+ "visible": "1",
25
+ "devices": [
26
+ {
27
+ "index": "0",
28
+ "name": "NVIDIA RTX 5880 Ada Generation",
29
+ "memory": "49140 MiB",
30
+ "driver": "580.178.04",
31
+ "uuid": "GPU-eb08932b-fbcd-41ce-e1e2-6fd7b02de161"
32
+ },
33
+ {
34
+ "index": "1",
35
+ "name": "NVIDIA RTX 5880 Ada Generation",
36
+ "memory": "49140 MiB",
37
+ "driver": "580.178.04",
38
+ "uuid": "GPU-cc1e8db2-7843-a8e9-8191-088167fb3499"
39
+ }
40
+ ]
41
+ },
42
+ "packages": {
43
+ "python": "3.11.15",
44
+ "torch": "2.9.1",
45
+ "vllm": "0.15.1",
46
+ "transformers": "4.57.6",
47
+ "speculators": "0.4.0.dev49",
48
+ "peft": null,
49
+ "accelerate": "1.13.0",
50
+ "numpy": "2.2.6",
51
+ "huggingface_hub": "0.36.2",
52
+ "openai": "2.32.0",
53
+ "wandb": "0.25.1",
54
+ "torch_cuda": "12.8"
55
+ },
56
+ "env": {
57
+ "CUDA_VISIBLE_DEVICES": "1",
58
+ "HF_HOME": "/mnt/data/users/vlad.smirnov/hf_cache",
59
+ "HF_HUB_OFFLINE": "1",
60
+ "TRANSFORMERS_OFFLINE": "1",
61
+ "NCCL_P2P_DISABLE": "1",
62
+ "PYTORCH_CUDA_ALLOC_CONF": "expandable_segments:True"
63
+ },
64
+ "models": [
65
+ {
66
+ "repo": "Qwen/Qwen3-8B",
67
+ "revision": "b968826d9c46dd6066d109eabc6255188de91218",
68
+ "path": "/mnt/data/users/vlad.smirnov/hf_cache/hub/models--Qwen--Qwen3-8B/snapshots/b968826d9c46dd6066d109eabc6255188de91218"
69
+ }
70
+ ],
71
+ "files": {},
72
+ "finished_at": "2026-10-25T12:38:11+04:00",
73
+ "wall_secs": 0.1
74
+ }