def get_features():
supported_attn_impls = ['flex_impl', 'fsdpa_impl', 'naive_impl']
bucketing_strategies = ['exponential_bucketing', 'linear_bucketing']
features = [
Value('fp32_alibi_biases', True, env_var='VLLM_ALIBI_USE_FLOAT32_BIASES'),
Value('fp32_softmax', ModelType('qwen2')),
Value(
'fused_block_softmax_adjustment',
All(VersionRange(">=1.22.0.494"), Hardware('gaudi3'), Kernel(block_softmax_adjustment),
Not(ModelType('qwen2')))),
Value('fused_block_softmax', False),
Value('flex_impl', False, env_var='VLLM_PROMPT_USE_FLEX_ATTENTION'),
Value('fsdpa_impl', All(Kernel(fsdpa), Not(ModelType('mllama'))), env_var='VLLM_PROMPT_USE_FUSEDSDPA'),
Value('naive_impl', True),
ValueFromList('prompt_attn_impl', supported_attn_impls),
Value('skip_warmup', False),
Value('merged_prefill', Enabled('unified_attn')),
Value('use_contiguous_pa',
Any(Disabled('prefix_caching'), Enabled('unified_attn')),
env_var='VLLM_CONTIGUOUS_PA'),
Value('use_bucketing', True, env_var='VLLM_ENABLE_BUCKETING'),
Value('exponential_bucketing', True),
Value('linear_bucketing', True),
ValueFromList('bucketing_strategy', bucketing_strategies),
Value('defrag', Enabled('unified_attn')),
Value('regional_compilation', True, env_var='VLLM_T_COMPILE_REGIONAL_COMPILATION', env_var_type=boolean),
Value('dynamic_shapes_compilation', True, env_var='VLLM_T_COMPILE_DYNAMIC_SHAPES', env_var_type=boolean),
Value('fullgraph_compilation', False, env_var='VLLM_T_COMPILE_FULLGRAPH', env_var_type=boolean),
Value('unified_attn', False),
Value('scale_adjustment', True, env_var='VLLM_SCALE_ADJUSTMENT', env_var_type=boolean),
Value('flatten_input', Any(ModelType('qwen3_moe'), ModelType('granitemoe'), ModelType('glm4_moe'))),
Value('unified_attn_shared_cache_ratio',
1.,
env_var='VLLM_UNIFIED_ATTENTION_SHARED_CACHE_RATIO',
env_var_type=float),
Value('high_level_profiler_enabled', False, env_var='VLLM_PROFILER_ENABLED', env_var_type=boolean),
Value('track_graph_compilation', False, env_var='PT_HPU_METRICS_GC_DETAILS', env_var_type=boolean),
Value('use_output_tensor_in_matmulqk', VersionRange(">=1.24.0.171"), env_var_type=boolean)
]
return split_values_and_flags(features)