sglang 0.4.2.post2__tar.gz → 0.4.2.post4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sglang-0.4.2.post2/sglang.egg-info → sglang-0.4.2.post4}/PKG-INFO +4 -4
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/pyproject.toml +3 -3
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/check_env.py +1 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/constrained/outlines_backend.py +4 -1
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/function_call_parser.py +96 -69
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/attention/double_sparsity_backend.py +1 -3
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/attention/flashinfer_backend.py +34 -41
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/attention/triton_backend.py +64 -16
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/attention/triton_ops/double_sparsity_attention.py +337 -3
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/attention/triton_ops/extend_attention.py +70 -42
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/fused_moe.py +20 -5
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=1536,K=1536,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=1536,K=7168,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=2048,K=512,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=2304,K=7168,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=24576,K=7168,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=256,K=7168,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=32768,K=512,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=576,K=7168,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=7168,K=1024,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=7168,K=1152,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=7168,K=128,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=7168,K=16384,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- sglang-0.4.2.post4/sglang/srt/layers/quantization/configs/N=7168,K=18432,device_name=NVIDIA_H20,dtype=fp8_w8a8,block_shape=[128, 128].json +146 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/fp8_kernel.py +43 -10
- sglang-0.4.2.post4/sglang/srt/lora/backend/__init__.py +28 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/lora/backend/base_backend.py +31 -9
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/lora/backend/flashinfer_backend.py +41 -4
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/lora/backend/triton_backend.py +34 -4
- sglang-0.4.2.post4/sglang/srt/lora/layers.py +293 -0
- sglang-0.4.2.post4/sglang/srt/lora/lora.py +185 -0
- sglang-0.4.2.post4/sglang/srt/lora/lora_manager.py +193 -0
- sglang-0.4.2.post4/sglang/srt/lora/mem_pool.py +174 -0
- sglang-0.4.2.post4/sglang/srt/lora/triton_ops/__init__.py +11 -0
- sglang-0.4.2.post4/sglang/srt/lora/triton_ops/gate_up_lora_b.py +170 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/lora/triton_ops/qkv_lora_b.py +5 -5
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/lora/triton_ops/sgemm_lora_a.py +2 -2
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/lora/triton_ops/sgemm_lora_b.py +2 -2
- sglang-0.4.2.post4/sglang/srt/lora/utils.py +141 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/model_executor/cuda_graph_runner.py +4 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/llama.py +8 -3
- sglang-0.4.2.post4/sglang/srt/speculative/build_eagle_tree.py +729 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/speculative/eagle_draft_cuda_graph_runner.py +1 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/speculative/eagle_utils.py +134 -61
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/speculative/eagle_worker.py +1 -0
- sglang-0.4.2.post4/sglang/version.py +1 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4/sglang.egg-info}/PKG-INFO +4 -4
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang.egg-info/SOURCES.txt +17 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang.egg-info/requires.txt +3 -3
- sglang-0.4.2.post2/sglang/srt/lora/backend/__init__.py +0 -8
- sglang-0.4.2.post2/sglang/srt/lora/lora.py +0 -410
- sglang-0.4.2.post2/sglang/srt/lora/lora_manager.py +0 -361
- sglang-0.4.2.post2/sglang/srt/lora/triton_ops/__init__.py +0 -5
- sglang-0.4.2.post2/sglang/srt/speculative/build_eagle_tree.py +0 -349
- sglang-0.4.2.post2/sglang/version.py +0 -1
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/LICENSE +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/README.md +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/setup.cfg +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/__init__.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/api.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/bench_latency.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/bench_offline_throughput.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/bench_one_batch.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/bench_one_batch_server.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/bench_serving.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/global_config.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/__init__.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/backend/__init__.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/backend/anthropic.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/backend/base_backend.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/backend/litellm.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/backend/openai.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/backend/runtime_endpoint.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/backend/vertexai.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/chat_template.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/choices.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/compiler.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/interpreter.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/ir.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/lang/tracer.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/launch_server.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/llama3_eval.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/_custom_ops.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/aio_rwlock.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/configs/__init__.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/configs/chatglm.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/configs/dbrx.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/configs/device_config.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/configs/exaone.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/configs/load_config.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/configs/model_config.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/configs/qwen2vl.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/constrained/base_grammar_backend.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/constrained/outlines_jump_forward.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/constrained/xgrammar_backend.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/conversation.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/custom_op.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/__init__.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/communication_op.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/device_communicators/cuda_wrapper.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/device_communicators/custom_all_reduce.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/device_communicators/custom_all_reduce_utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/device_communicators/hpu_communicator.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/device_communicators/pynccl.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/device_communicators/pynccl_wrapper.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/device_communicators/shm_broadcast.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/device_communicators/xpu_communicator.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/parallel_state.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/distributed/utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/entrypoints/engine.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/entrypoints/http_server.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/hf_transformers_utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/activation.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/attention/__init__.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/attention/torch_native_backend.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/attention/triton_ops/decode_attention.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/attention/triton_ops/prefill_attention.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/attention/vision.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/dp_attention.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/layernorm.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/linear.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/logits_processor.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/ep_moe/__init__.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/ep_moe/kernels.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/ep_moe/layer.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_native.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/__init__.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=1,N=14336,device_name=NVIDIA_A100-SXM4-80GB,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=1,N=14336,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=1,N=1792,device_name=NVIDIA_A100-SXM4-80GB,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=1,N=1792,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=1,N=3072,device_name=NVIDIA_A100-SXM4-80GB,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=1,N=3072,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=1,N=3072,device_name=NVIDIA_H100_80GB_HBM3.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=1,N=3584,device_name=NVIDIA_A100-SXM4-80GB,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=1,N=3584,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=1,N=7168,device_name=NVIDIA_A100-SXM4-80GB,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=1,N=7168,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=1344,device_name=NVIDIA_A100-SXM4-40GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=1344,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=1344,device_name=NVIDIA_H100_80GB_HBM3.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=14336,device_name=NVIDIA_A100-SXM4-80GB,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=14336,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=1792,device_name=NVIDIA_A100-SXM4-80GB,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=1792,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=2688,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=2688,device_name=NVIDIA_H100_80GB_HBM3.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=3072,device_name=NVIDIA_A100-SXM4-80GB,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=3072,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=3200,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=3584,device_name=NVIDIA_A100-SXM4-80GB,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=3584,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=6400,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=7168,device_name=NVIDIA_A100-SXM4-80GB,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=7168,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=16,N=800,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=256,N=128,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=256,N=256,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=256,N=256,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=256,N=256,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=256,N=256,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=1280,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=1280,device_name=NVIDIA_A800-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=1280,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=1280,device_name=NVIDIA_H100_80GB_HBM3.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=1280,device_name=NVIDIA_H200,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=1280,device_name=NVIDIA_H200.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=2560,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=2560,device_name=NVIDIA_H200,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=2560,device_name=NVIDIA_H200.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=320,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=320,device_name=NVIDIA_H100_80GB_HBM3.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=320,device_name=NVIDIA_H200,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=320,device_name=NVIDIA_H200.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=640,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=640,device_name=NVIDIA_A800-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=640,device_name=NVIDIA_GeForce_RTX_4090,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=640,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=640,device_name=NVIDIA_H100_80GB_HBM3.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=640,device_name=NVIDIA_H200,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=64,N=640,device_name=NVIDIA_H200.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=14336,device_name=AMD_Instinct_MI300X.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=14336,device_name=AMD_Radeon_Graphics.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=14336,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=14336,device_name=NVIDIA_H200,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=14336,device_name=NVIDIA_H200.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=1792,device_name=AMD_Instinct_MI300X.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=1792,device_name=AMD_Radeon_Graphics.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=1792,device_name=NVIDIA_A100-SXM4-40GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=1792,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=1792,device_name=NVIDIA_H100_80GB_HBM3.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=1792,device_name=NVIDIA_H200,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=1792,device_name=NVIDIA_H200.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=2048,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=2048,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=2048,device_name=NVIDIA_H100_80GB_HBM3.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=2048,device_name=NVIDIA_H200,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=2048,device_name=NVIDIA_H200.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=3584,device_name=AMD_Instinct_MI300X.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=3584,device_name=AMD_Radeon_Graphics.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=3584,device_name=NVIDIA_A100-SXM4-40GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=3584,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=3584,device_name=NVIDIA_GeForce_RTX_4090,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=3584,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=3584,device_name=NVIDIA_H100_80GB_HBM3.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=3584,device_name=NVIDIA_H200,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=3584,device_name=NVIDIA_H200.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=3584,device_name=NVIDIA_L40S.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=4096,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=4096,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=4096,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=4096,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=4096,device_name=NVIDIA_H100_80GB_HBM3.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=4096,device_name=NVIDIA_H200,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=4096,device_name=NVIDIA_H200.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=7168,device_name=AMD_Instinct_MI300X.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=7168,device_name=AMD_Radeon_Graphics.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=7168,device_name=NVIDIA_A100-SXM4-80GB.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=7168,device_name=NVIDIA_H100_80GB_HBM3.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=7168,device_name=NVIDIA_H200,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=7168,device_name=NVIDIA_H200.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=8192,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=8192,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=8192,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/configs/E=8,N=8192,device_name=NVIDIA_H200,dtype=fp8_w8a8.json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/fused_moe_triton/layer.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/moe/topk.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/parameter.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/pooler.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/__init__.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/base_config.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=1536,K=1536,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=1536,K=7168,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=1536,K=7168,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=1536,K=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=1536,K=7168,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=2048,K=512,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=2048,K=512,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=2304,K=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=2304,K=7168,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=24576,K=7168,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=24576,K=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=24576,K=7168,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=256,K=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=3072,K=1536,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=3072,K=1536,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=3072,K=1536,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=3072,K=1536,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=3072,K=7168,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=3072,K=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=3072,K=7168,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=32768,K=512,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=32768,K=512,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=32768,K=512,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=36864,K=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=36864,K=7168,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=4096,K=512,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=4096,K=512,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=4096,K=512,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=4096,K=512,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=4096,K=512,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=4608,K=7168,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=4608,K=7168,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=4608,K=7168,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=4608,K=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=4608,K=7168,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=512,K=7168,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=512,K=7168,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=512,K=7168,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=512,K=7168,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=576,K=7168,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=576,K=7168,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=576,K=7168,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=576,K=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=576,K=7168,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=1024,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=1024,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=1152,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=1152,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=128,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=16384,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=16384,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=16384,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=18432,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=18432,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=18432,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=2048,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=2048,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=2048,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=2048,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=2048,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=2304,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=2304,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=2304,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=2304,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=2304,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=256,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=256,device_name=AMD_Radeon_Graphics,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=256,device_name=NVIDIA_B200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/configs/N=7168,K=256,device_name=NVIDIA_H200,dtype=fp8_w8a8,block_shape=[128, 128].json +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/fp8.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/fp8_utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/int8_kernel.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/modelopt_quant.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/quantization/w8a8_int8.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/radix_attention.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/rotary_embedding.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/sampler.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/torchao_utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/vocab_parallel_embedding.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/lora/lora_config.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/cache_controller.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/configure_logging.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/data_parallel_controller.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/detokenizer_manager.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/image_processor.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/io_struct.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/schedule_batch.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/schedule_policy.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/scheduler.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/session_controller.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/tokenizer_manager.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/tp_worker.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/tp_worker_overlap_thread.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/managers/utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/mem_cache/base_prefix_cache.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/mem_cache/chunk_cache.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/mem_cache/flush_cache.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/mem_cache/memory_pool.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/mem_cache/radix_cache.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/metrics/collector.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/metrics/func_timer.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/mm_utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/model_executor/forward_batch_info.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/model_executor/model_runner.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/model_loader/__init__.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/model_loader/loader.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/model_loader/utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/model_loader/weight_utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/model_parallel.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/baichuan.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/chatglm.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/commandr.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/dbrx.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/deepseek.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/deepseek_v2.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/exaone.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/gemma.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/gemma2.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/gemma2_reward.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/gpt2.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/gpt_bigcode.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/granite.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/grok.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/internlm2.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/internlm2_reward.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/llama_classification.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/llama_eagle.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/llama_embedding.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/llama_reward.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/llava.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/llavavid.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/minicpm.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/minicpm3.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/minicpmv.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/mistral.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/mixtral.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/mixtral_quant.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/mllama.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/olmo.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/olmo2.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/olmoe.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/phi3_small.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/qwen.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/qwen2.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/qwen2_eagle.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/qwen2_moe.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/qwen2_vl.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/registry.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/stablelm.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/torch_native_llama.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/xverse.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/xverse_moe.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/models/yivl.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/openai_api/adapter.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/openai_api/protocol.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/sampling/custom_logit_processor.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/sampling/penaltylib/__init__.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/sampling/penaltylib/orchestrator.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/sampling/penaltylib/penalizers/frequency_penalty.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/sampling/penaltylib/penalizers/min_new_tokens.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/sampling/penaltylib/penalizers/presence_penalty.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/sampling/penaltylib/penalizers/repetition_penalty.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/sampling/sampling_batch_info.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/sampling/sampling_params.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/server.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/server_args.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/speculative/spec_info.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/torch_memory_saver_adapter.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/few_shot_gsm8k.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/few_shot_gsm8k_engine.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/run_eval.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/runners.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/simple_eval_common.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/simple_eval_gpqa.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/simple_eval_humaneval.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/simple_eval_math.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/simple_eval_mgsm.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/simple_eval_mmlu.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/srt/sampling/penaltylib/utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/test_activation.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/test_block_fp8.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/test_layernorm.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/test_programs.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/test/test_utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/utils.py +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang.egg-info/dependency_links.txt +0 -0
- {sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: sglang
|
3
|
-
Version: 0.4.2.
|
3
|
+
Version: 0.4.2.post4
|
4
4
|
Summary: SGLang is yet another fast serving framework for large language models and vision language models.
|
5
5
|
License: Apache License
|
6
6
|
Version 2.0, January 2004
|
@@ -239,11 +239,11 @@ Requires-Dist: xgrammar>=0.1.10; extra == "runtime-common"
|
|
239
239
|
Provides-Extra: srt
|
240
240
|
Requires-Dist: sglang[runtime_common]; extra == "srt"
|
241
241
|
Requires-Dist: cuda-python; extra == "srt"
|
242
|
-
Requires-Dist: sgl-kernel>=0.0.3.
|
242
|
+
Requires-Dist: sgl-kernel>=0.0.3.post3; extra == "srt"
|
243
243
|
Requires-Dist: torch; extra == "srt"
|
244
|
-
Requires-Dist: vllm
|
244
|
+
Requires-Dist: vllm<=0.7.2,>=0.6.4.post1; extra == "srt"
|
245
245
|
Requires-Dist: flashinfer_python>=0.2.0.post2; extra == "srt"
|
246
|
-
Requires-Dist: outlines
|
246
|
+
Requires-Dist: outlines<=0.1.11,>=0.0.44; extra == "srt"
|
247
247
|
Provides-Extra: srt-hip
|
248
248
|
Requires-Dist: sglang[runtime_common]; extra == "srt-hip"
|
249
249
|
Requires-Dist: torch; extra == "srt-hip"
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "sglang"
|
7
|
-
version = "0.4.2.
|
7
|
+
version = "0.4.2.post4"
|
8
8
|
description = "SGLang is yet another fast serving framework for large language models and vision language models."
|
9
9
|
readme = "README.md"
|
10
10
|
requires-python = ">=3.8"
|
@@ -25,8 +25,8 @@ runtime_common = [
|
|
25
25
|
]
|
26
26
|
srt = [
|
27
27
|
"sglang[runtime_common]", "cuda-python",
|
28
|
-
"sgl-kernel>=0.0.3.
|
29
|
-
"flashinfer_python>=0.2.0.post2", "outlines>=0.0.44
|
28
|
+
"sgl-kernel>=0.0.3.post3", "torch", "vllm>=0.6.4.post1,<=0.7.2",
|
29
|
+
"flashinfer_python>=0.2.0.post2", "outlines>=0.0.44,<=0.1.11"
|
30
30
|
]
|
31
31
|
|
32
32
|
# HIP (Heterogeneous-computing Interface for Portability) for AMD
|
@@ -35,7 +35,10 @@ is_hip_ = is_hip()
|
|
35
35
|
if is_hip_:
|
36
36
|
from outlines_core.fsm.json_schema import build_regex_from_schema
|
37
37
|
else:
|
38
|
-
|
38
|
+
try:
|
39
|
+
from outlines.fsm.json_schema import build_regex_from_schema
|
40
|
+
except ImportError:
|
41
|
+
from outlines_core.fsm.json_schema import build_regex_from_schema
|
39
42
|
|
40
43
|
|
41
44
|
logger = logging.getLogger(__name__)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import json
|
2
|
+
import logging
|
2
3
|
import re
|
3
4
|
from abc import ABC, abstractmethod
|
4
5
|
from json import JSONDecodeError, JSONDecoder
|
@@ -8,6 +9,8 @@ import partial_json_parser
|
|
8
9
|
from partial_json_parser.core.options import Allow
|
9
10
|
from pydantic import BaseModel, Field
|
10
11
|
|
12
|
+
logger = logging.getLogger(__name__)
|
13
|
+
|
11
14
|
TOOLS_TAG_LIST = [
|
12
15
|
"<|plugin|>",
|
13
16
|
"<function=",
|
@@ -88,17 +91,43 @@ class BaseFormatDetector:
|
|
88
91
|
self.bot_token = ""
|
89
92
|
self.eot_token = ""
|
90
93
|
|
91
|
-
def parse_base_json(self, action:
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
)
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
94
|
+
def parse_base_json(self, action: Any, tools: List[Function]) -> List[ToolCallItem]:
|
95
|
+
tool_indices = {
|
96
|
+
tool.function.name: i for i, tool in enumerate(tools) if tool.function.name
|
97
|
+
}
|
98
|
+
if not isinstance(action, list):
|
99
|
+
name = action.get("name")
|
100
|
+
if not name or name not in tool_indices:
|
101
|
+
logger.warning(f"Model attempted to call undefined function: {name}")
|
102
|
+
return []
|
103
|
+
|
104
|
+
return [
|
105
|
+
ToolCallItem(
|
106
|
+
tool_index=tool_indices[name],
|
107
|
+
name=name,
|
108
|
+
parameters=json.dumps(
|
109
|
+
action.get("parameters") or action.get("arguments", {}),
|
110
|
+
ensure_ascii=False,
|
111
|
+
),
|
112
|
+
)
|
113
|
+
]
|
114
|
+
|
115
|
+
results = []
|
116
|
+
for act in action:
|
117
|
+
name = act.get("name")
|
118
|
+
if name and name in tool_indices:
|
119
|
+
results.append(
|
120
|
+
ToolCallItem(
|
121
|
+
tool_index=tool_indices[name],
|
122
|
+
name=name,
|
123
|
+
parameters=json.dumps(
|
124
|
+
act.get("parameters") or act.get("arguments", {}),
|
125
|
+
ensure_ascii=False,
|
126
|
+
),
|
127
|
+
)
|
128
|
+
)
|
129
|
+
|
130
|
+
return results
|
102
131
|
|
103
132
|
def detect_and_parse(self, text: str, tools: List[Function]) -> List[ToolCallItem]:
|
104
133
|
"""
|
@@ -112,9 +141,7 @@ class BaseFormatDetector:
|
|
112
141
|
self, new_text: str, tools: List[Function]
|
113
142
|
) -> StreamingParseResult:
|
114
143
|
"""
|
115
|
-
Streaming incremental parsing
|
116
|
-
We partially parse JSON within <tool_call>...</tool_call>, and handle
|
117
|
-
incremental argument output.
|
144
|
+
Streaming incremental parsing with tool validation.
|
118
145
|
"""
|
119
146
|
# Append new text to buffer
|
120
147
|
self._buffer += new_text
|
@@ -125,17 +152,19 @@ class BaseFormatDetector:
|
|
125
152
|
new_text = new_text.replace(self.eot_token, "")
|
126
153
|
return StreamingParseResult(normal_text=new_text)
|
127
154
|
|
128
|
-
#
|
129
|
-
|
130
|
-
|
131
|
-
|
155
|
+
# Build tool indices if not already built
|
156
|
+
if not hasattr(self, "_tool_indices"):
|
157
|
+
self._tool_indices = {
|
158
|
+
tool.function.name: i
|
159
|
+
for i, tool in enumerate(tools)
|
160
|
+
if tool.function and tool.function.name
|
161
|
+
}
|
162
|
+
|
132
163
|
flags = Allow.ALL if self.current_tool_name_sent else Allow.ALL & ~Allow.STR
|
133
164
|
try:
|
134
165
|
tool_call_arr = []
|
135
166
|
is_complete = []
|
136
167
|
try:
|
137
|
-
# depending on the prompt format the Llama model may or may not
|
138
|
-
# prefix the output with the <|python_tag|> token
|
139
168
|
start_idx = (
|
140
169
|
len(self.bot_token)
|
141
170
|
if current_text.startswith(self.bot_token)
|
@@ -149,8 +178,18 @@ class BaseFormatDetector:
|
|
149
178
|
_is_complete_json(current_text[start_idx : start_idx + end_idx])
|
150
179
|
)
|
151
180
|
start_idx += end_idx + len("; ")
|
152
|
-
|
153
|
-
#
|
181
|
+
|
182
|
+
# Validate tool name if present
|
183
|
+
if "name" in obj and obj["name"] not in self._tool_indices:
|
184
|
+
# Invalid tool name - reset state
|
185
|
+
self._buffer = ""
|
186
|
+
self.current_tool_id = -1
|
187
|
+
self.current_tool_name_sent = False
|
188
|
+
if self.streamed_args_for_tool:
|
189
|
+
self.streamed_args_for_tool.pop()
|
190
|
+
return StreamingParseResult()
|
191
|
+
|
192
|
+
# Handle parameters/arguments consistency
|
154
193
|
if "parameters" in obj:
|
155
194
|
assert (
|
156
195
|
"arguments" not in obj
|
@@ -159,29 +198,17 @@ class BaseFormatDetector:
|
|
159
198
|
tool_call_arr.append(obj)
|
160
199
|
|
161
200
|
except partial_json_parser.core.exceptions.MalformedJSON:
|
162
|
-
# not enough tokens to parse into JSON yet
|
163
201
|
return StreamingParseResult()
|
164
202
|
|
165
|
-
# select as the current tool call the one we're on the state at
|
166
|
-
current_tool_call: Dict = (
|
167
|
-
tool_call_arr[self.current_tool_id] if len(tool_call_arr) > 0 else {}
|
168
|
-
)
|
169
|
-
|
170
|
-
# case -- if no tokens have been streamed for the tool, e.g.
|
171
|
-
# only the array brackets, stream nothing
|
172
203
|
if len(tool_call_arr) == 0:
|
173
204
|
return StreamingParseResult()
|
174
205
|
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
len(tool_call_arr) > 0 and len(tool_call_arr) > self.current_tool_id + 1
|
179
|
-
):
|
206
|
+
current_tool_call: Dict = (
|
207
|
+
tool_call_arr[self.current_tool_id] if len(tool_call_arr) > 0 else {}
|
208
|
+
)
|
180
209
|
|
181
|
-
|
182
|
-
|
183
|
-
# auto-generated due to JSON completions, but wasn't
|
184
|
-
# streamed to the client yet.
|
210
|
+
# Handle new tool in array
|
211
|
+
if len(tool_call_arr) > 0 and len(tool_call_arr) > self.current_tool_id + 1:
|
185
212
|
if self.current_tool_id >= 0:
|
186
213
|
cur_arguments = current_tool_call.get("arguments")
|
187
214
|
if cur_arguments:
|
@@ -190,7 +217,6 @@ class BaseFormatDetector:
|
|
190
217
|
argument_diff = cur_args_json[sent:]
|
191
218
|
|
192
219
|
res = StreamingParseResult(
|
193
|
-
normal_text=None,
|
194
220
|
calls=[
|
195
221
|
ToolCallItem(
|
196
222
|
tool_index=self.current_tool_id,
|
@@ -206,23 +232,20 @@ class BaseFormatDetector:
|
|
206
232
|
res = StreamingParseResult()
|
207
233
|
else:
|
208
234
|
res = StreamingParseResult()
|
209
|
-
|
235
|
+
|
210
236
|
self.current_tool_id = len(tool_call_arr) - 1
|
211
237
|
self.current_tool_name_sent = False
|
212
238
|
self.streamed_args_for_tool.append("")
|
213
|
-
print("starting on new tool %d", self.current_tool_id)
|
214
239
|
return res
|
215
240
|
|
216
|
-
#
|
217
|
-
# - otherwise send nothing
|
241
|
+
# Handle tool name
|
218
242
|
elif not self.current_tool_name_sent:
|
219
243
|
function_name = current_tool_call.get("name")
|
220
|
-
if function_name:
|
244
|
+
if function_name and function_name in self._tool_indices:
|
221
245
|
res = StreamingParseResult(
|
222
|
-
normal_text=None,
|
223
246
|
calls=[
|
224
247
|
ToolCallItem(
|
225
|
-
tool_index=self.
|
248
|
+
tool_index=self._tool_indices[function_name],
|
226
249
|
name=function_name,
|
227
250
|
parameters="",
|
228
251
|
)
|
@@ -232,8 +255,7 @@ class BaseFormatDetector:
|
|
232
255
|
else:
|
233
256
|
res = StreamingParseResult()
|
234
257
|
|
235
|
-
#
|
236
|
-
# arguments
|
258
|
+
# Handle streaming arguments
|
237
259
|
else:
|
238
260
|
cur_arguments = current_tool_call.get("arguments")
|
239
261
|
res = StreamingParseResult()
|
@@ -250,13 +272,12 @@ class BaseFormatDetector:
|
|
250
272
|
argument_diff = cur_args_json[sent:]
|
251
273
|
self._buffer = ""
|
252
274
|
self.prev_tool_call_arr[self.current_tool_id].clear()
|
253
|
-
self.current_tool_name_sent
|
275
|
+
self.current_tool_name_sent = False
|
254
276
|
self.streamed_args_for_tool[self.current_tool_id] = ""
|
255
277
|
|
256
278
|
elif prev_arguments:
|
257
279
|
prev_args_json = json.dumps(prev_arguments)
|
258
280
|
if cur_args_json != prev_args_json:
|
259
|
-
|
260
281
|
prefix = _find_common_prefix(prev_args_json, cur_args_json)
|
261
282
|
argument_diff = prefix[sent:]
|
262
283
|
|
@@ -279,8 +300,7 @@ class BaseFormatDetector:
|
|
279
300
|
return res
|
280
301
|
|
281
302
|
except Exception as e:
|
282
|
-
|
283
|
-
# Skipping chunk as a result of tool streaming extraction error
|
303
|
+
logger.error(f"Error in parse_streaming_increment: {e}")
|
284
304
|
return StreamingParseResult()
|
285
305
|
|
286
306
|
|
@@ -372,31 +392,38 @@ class Llama32Detector(BaseFormatDetector):
|
|
372
392
|
Detector for Llama 3.2 models.
|
373
393
|
Assumes function call format:
|
374
394
|
<|python_tag|>{"name":"xxx", "arguments":{...}}
|
375
|
-
Does not require a closing tag "</python_tag|>",
|
376
|
-
relies on json.loads(...) success to determine if JSON is complete.
|
377
395
|
"""
|
378
396
|
|
379
397
|
def __init__(self):
|
380
|
-
"""
|
381
|
-
Initializes the detector with necessary state variables.
|
382
|
-
"""
|
383
398
|
super().__init__()
|
384
399
|
self.bot_token = "<|python_tag|>"
|
385
400
|
|
386
401
|
def detect_and_parse(self, text: str, tools: List[Function]) -> List[ToolCallItem]:
|
387
|
-
"""
|
388
|
-
One-time parsing: Detects and parses tool calls in the provided text.
|
389
|
-
|
390
|
-
:param text: The complete text to parse.
|
391
|
-
:param tools: List of available tools.
|
392
|
-
:return: ParseResult indicating success or failure, consumed text, leftover text, and parsed calls.
|
393
|
-
"""
|
394
|
-
|
402
|
+
"""Parse function calls from text, handling multiple JSON objects."""
|
395
403
|
if "<|python_tag|>" not in text:
|
396
404
|
return []
|
397
|
-
|
398
|
-
|
399
|
-
|
405
|
+
|
406
|
+
_, action_text = text.split("<|python_tag|>")
|
407
|
+
|
408
|
+
# Split by semicolon and process each part
|
409
|
+
json_parts = [part.strip() for part in action_text.split(";") if part.strip()]
|
410
|
+
|
411
|
+
all_actions = []
|
412
|
+
for part in json_parts:
|
413
|
+
try:
|
414
|
+
# Parse each individual JSON object
|
415
|
+
action = json.loads(part)
|
416
|
+
all_actions.append(action)
|
417
|
+
except json.JSONDecodeError as e:
|
418
|
+
logger.warning(f"Failed to parse JSON part: {part}")
|
419
|
+
logger.warning(f"JSON parse error: {str(e)}")
|
420
|
+
continue
|
421
|
+
|
422
|
+
# Only process if we found valid JSON objects
|
423
|
+
if all_actions:
|
424
|
+
return self.parse_base_json(all_actions, tools)
|
425
|
+
|
426
|
+
return []
|
400
427
|
|
401
428
|
|
402
429
|
class MultiFormatParser:
|
{sglang-0.4.2.post2 → sglang-0.4.2.post4}/sglang/srt/layers/attention/double_sparsity_backend.py
RENAMED
@@ -17,12 +17,10 @@ class DoubleSparseAttnBackend(AttentionBackend):
|
|
17
17
|
def __init__(self, model_runner: ModelRunner):
|
18
18
|
# Lazy import to avoid the initialization of cuda context
|
19
19
|
from sglang.srt.layers.attention.triton_ops.double_sparsity_attention import (
|
20
|
+
extend_attention_fwd,
|
20
21
|
flash_decode_attention_fwd,
|
21
22
|
flash_decode_sparse_attention_fwd,
|
22
23
|
)
|
23
|
-
from sglang.srt.layers.attention.triton_ops.extend_attention import (
|
24
|
-
extend_attention_fwd,
|
25
|
-
)
|
26
24
|
|
27
25
|
super().__init__()
|
28
26
|
|
@@ -70,6 +70,8 @@ class FlashInferAttnBackend(AttentionBackend):
|
|
70
70
|
):
|
71
71
|
super().__init__()
|
72
72
|
|
73
|
+
self.is_multimodal = model_runner.model_config.is_multimodal
|
74
|
+
|
73
75
|
# Parse constants
|
74
76
|
self.decode_use_tensor_cores = should_use_tensor_core(
|
75
77
|
kv_cache_dtype=model_runner.kv_cache_dtype,
|
@@ -130,12 +132,8 @@ class FlashInferAttnBackend(AttentionBackend):
|
|
130
132
|
for _ in range(self.num_wrappers)
|
131
133
|
]
|
132
134
|
|
133
|
-
|
134
|
-
|
135
|
-
self.prefill_wrapper_ragged = (
|
136
|
-
BatchPrefillWithRaggedKVCacheWrapper(self.workspace_buffer, "NHD")
|
137
|
-
if self.num_wrappers == 1
|
138
|
-
else None
|
135
|
+
self.prefill_wrapper_ragged = BatchPrefillWithRaggedKVCacheWrapper(
|
136
|
+
self.workspace_buffer, "NHD"
|
139
137
|
)
|
140
138
|
|
141
139
|
# Two wrappers: one for sliding window attention and one for full attention.
|
@@ -217,13 +215,12 @@ class FlashInferAttnBackend(AttentionBackend):
|
|
217
215
|
else:
|
218
216
|
prefix_lens = forward_batch.extend_prefix_lens
|
219
217
|
|
220
|
-
|
221
|
-
if forward_batch.extend_num_tokens >= 4096 and self.num_wrappers == 1:
|
222
|
-
use_ragged = True
|
223
|
-
extend_no_prefix = not any(forward_batch.extend_prefix_lens_cpu)
|
224
|
-
else:
|
218
|
+
if self.is_multimodal:
|
225
219
|
use_ragged = False
|
226
220
|
extend_no_prefix = False
|
221
|
+
else:
|
222
|
+
use_ragged = True
|
223
|
+
extend_no_prefix = not any(forward_batch.extend_prefix_lens_cpu)
|
227
224
|
|
228
225
|
self.indices_updater_prefill.update(
|
229
226
|
forward_batch.req_pool_indices,
|
@@ -409,9 +406,9 @@ class FlashInferAttnBackend(AttentionBackend):
|
|
409
406
|
)
|
410
407
|
else:
|
411
408
|
o1, s1 = self.prefill_wrapper_ragged.forward_return_lse(
|
412
|
-
q.
|
413
|
-
k.
|
414
|
-
v.
|
409
|
+
q.view(-1, layer.tp_q_head_num, layer.head_dim),
|
410
|
+
k.view(-1, layer.tp_k_head_num, layer.head_dim),
|
411
|
+
v.view(-1, layer.tp_v_head_num, layer.head_dim),
|
415
412
|
causal=True,
|
416
413
|
sm_scale=layer.scaling,
|
417
414
|
logits_soft_cap=logits_soft_cap,
|
@@ -640,7 +637,6 @@ class FlashInferIndicesUpdaterDecode:
|
|
640
637
|
kv_indptr, kv_indices = spec_info.kv_indptr, spec_info.kv_indices
|
641
638
|
bs = kv_indptr.shape[0] - 1
|
642
639
|
|
643
|
-
wrapper.end_forward()
|
644
640
|
wrapper.begin_forward(
|
645
641
|
kv_indptr,
|
646
642
|
kv_indices,
|
@@ -651,6 +647,7 @@ class FlashInferIndicesUpdaterDecode:
|
|
651
647
|
1,
|
652
648
|
data_type=self.data_type,
|
653
649
|
q_data_type=self.q_data_type,
|
650
|
+
non_blocking=True,
|
654
651
|
)
|
655
652
|
|
656
653
|
|
@@ -860,7 +857,6 @@ class FlashInferIndicesUpdaterPrefill:
|
|
860
857
|
|
861
858
|
# extend part
|
862
859
|
if use_ragged:
|
863
|
-
wrapper_ragged.end_forward()
|
864
860
|
wrapper_ragged.begin_forward(
|
865
861
|
qo_indptr,
|
866
862
|
qo_indptr,
|
@@ -871,7 +867,6 @@ class FlashInferIndicesUpdaterPrefill:
|
|
871
867
|
)
|
872
868
|
|
873
869
|
# cached part
|
874
|
-
wrapper_paged.end_forward()
|
875
870
|
wrapper_paged.begin_forward(
|
876
871
|
qo_indptr,
|
877
872
|
kv_indptr,
|
@@ -883,6 +878,7 @@ class FlashInferIndicesUpdaterPrefill:
|
|
883
878
|
1,
|
884
879
|
q_data_type=self.q_data_type,
|
885
880
|
custom_mask=custom_mask,
|
881
|
+
non_blocking=True,
|
886
882
|
)
|
887
883
|
|
888
884
|
|
@@ -924,38 +920,50 @@ class FlashInferMultiStepDraftBackend:
|
|
924
920
|
self.max_context_len = self.attn_backends[0].max_context_len
|
925
921
|
# Cached variables for generate_draft_decode_kv_indices
|
926
922
|
self.pool_len = model_runner.req_to_token_pool.req_to_token.shape[1]
|
927
|
-
self.kv_indptr_stride = self.kv_indptr.shape[1]
|
928
923
|
|
929
|
-
def common_template(
|
924
|
+
def common_template(
|
925
|
+
self, forward_batch: ForwardBatch, kv_indices_buffer: torch.Tensor, call_fn: int
|
926
|
+
):
|
930
927
|
num_seqs = forward_batch.batch_size
|
931
928
|
bs = self.topk * num_seqs
|
932
929
|
seq_lens_sum = forward_batch.seq_lens_sum
|
930
|
+
|
933
931
|
self.generate_draft_decode_kv_indices[
|
934
932
|
(self.speculative_num_steps, num_seqs, self.topk)
|
935
933
|
](
|
936
934
|
forward_batch.req_pool_indices,
|
937
935
|
forward_batch.req_to_token_pool.req_to_token,
|
938
936
|
forward_batch.seq_lens,
|
939
|
-
|
937
|
+
kv_indices_buffer,
|
940
938
|
self.kv_indptr,
|
941
939
|
forward_batch.positions,
|
942
940
|
num_seqs,
|
943
941
|
self.topk,
|
944
942
|
self.pool_len,
|
945
|
-
|
943
|
+
kv_indices_buffer.shape[1],
|
946
944
|
self.kv_indptr.shape[1],
|
947
945
|
triton.next_power_of_2(num_seqs),
|
948
946
|
triton.next_power_of_2(self.speculative_num_steps),
|
949
947
|
triton.next_power_of_2(bs),
|
950
948
|
)
|
949
|
+
|
951
950
|
for i in range(self.speculative_num_steps):
|
952
951
|
forward_batch.spec_info.kv_indptr = self.kv_indptr[i, : bs + 1]
|
953
|
-
forward_batch.spec_info.kv_indices =
|
952
|
+
forward_batch.spec_info.kv_indices = kv_indices_buffer[i][
|
954
953
|
: seq_lens_sum * self.topk + bs * (i + 1)
|
955
954
|
]
|
956
955
|
call_fn(i, forward_batch)
|
957
956
|
|
958
957
|
def init_forward_metadata(self, forward_batch: ForwardBatch):
|
958
|
+
kv_indices = torch.zeros(
|
959
|
+
(
|
960
|
+
self.speculative_num_steps,
|
961
|
+
forward_batch.batch_size * self.topk * self.max_context_len,
|
962
|
+
),
|
963
|
+
dtype=torch.int32,
|
964
|
+
device="cuda",
|
965
|
+
)
|
966
|
+
|
959
967
|
def call_fn(i, forward_batch):
|
960
968
|
forward_batch.spec_info.kv_indptr = (
|
961
969
|
forward_batch.spec_info.kv_indptr.clone()
|
@@ -965,7 +973,7 @@ class FlashInferMultiStepDraftBackend:
|
|
965
973
|
)
|
966
974
|
self.attn_backends[i].init_forward_metadata(forward_batch)
|
967
975
|
|
968
|
-
self.common_template(forward_batch, call_fn)
|
976
|
+
self.common_template(forward_batch, kv_indices, call_fn)
|
969
977
|
|
970
978
|
def init_cuda_graph_state(self, max_bs: int):
|
971
979
|
self.cuda_graph_kv_indices = torch.zeros(
|
@@ -973,7 +981,6 @@ class FlashInferMultiStepDraftBackend:
|
|
973
981
|
dtype=torch.int32,
|
974
982
|
device="cuda",
|
975
983
|
)
|
976
|
-
self.kv_indptr_stride = self.cuda_graph_kv_indices.shape[1]
|
977
984
|
for i in range(self.speculative_num_steps):
|
978
985
|
self.attn_backends[i].init_cuda_graph_state(
|
979
986
|
max_bs, kv_indices_buf=self.cuda_graph_kv_indices[i]
|
@@ -995,7 +1002,7 @@ class FlashInferMultiStepDraftBackend:
|
|
995
1002
|
][0]
|
996
1003
|
decode_wrapper.begin_forward = partial(fast_decode_plan, decode_wrapper)
|
997
1004
|
|
998
|
-
self.common_template(forward_batch, call_fn)
|
1005
|
+
self.common_template(forward_batch, self.cuda_graph_kv_indices, call_fn)
|
999
1006
|
|
1000
1007
|
def init_forward_metadata_replay_cuda_graph(self, forward_batch):
|
1001
1008
|
def call_fn(i, forward_batch):
|
@@ -1009,7 +1016,7 @@ class FlashInferMultiStepDraftBackend:
|
|
1009
1016
|
spec_info=forward_batch.spec_info,
|
1010
1017
|
)
|
1011
1018
|
|
1012
|
-
self.common_template(forward_batch, call_fn)
|
1019
|
+
self.common_template(forward_batch, self.cuda_graph_kv_indices, call_fn)
|
1013
1020
|
|
1014
1021
|
|
1015
1022
|
@triton.jit
|
@@ -1070,21 +1077,6 @@ def should_use_tensor_core(
|
|
1070
1077
|
if env_override is not None:
|
1071
1078
|
return env_override.lower() == "true"
|
1072
1079
|
|
1073
|
-
# Try to use _grouped_size_compiled_for_decode_kernels if available
|
1074
|
-
# This is for flashinfer <=0.1.6. Otherwise, there is an accuracy bug
|
1075
|
-
try:
|
1076
|
-
from flashinfer.decode import _grouped_size_compiled_for_decode_kernels
|
1077
|
-
|
1078
|
-
if not _grouped_size_compiled_for_decode_kernels(
|
1079
|
-
num_attention_heads,
|
1080
|
-
num_kv_heads,
|
1081
|
-
):
|
1082
|
-
return True
|
1083
|
-
else:
|
1084
|
-
return False
|
1085
|
-
except (ImportError, AttributeError):
|
1086
|
-
pass
|
1087
|
-
|
1088
1080
|
# Calculate GQA group size
|
1089
1081
|
gqa_group_size = num_attention_heads // num_kv_heads
|
1090
1082
|
|
@@ -1114,6 +1106,7 @@ def fast_decode_plan(
|
|
1114
1106
|
sm_scale: Optional[float] = None,
|
1115
1107
|
rope_scale: Optional[float] = None,
|
1116
1108
|
rope_theta: Optional[float] = None,
|
1109
|
+
**kwargs,
|
1117
1110
|
) -> None:
|
1118
1111
|
"""A faster version of BatchDecodeWithPagedKVCacheWrapper::plan used for FlashInferMultiStepDraftBackend."""
|
1119
1112
|
batch_size = len(last_page_len)
|