vllm.model_executor.layers.fla.ops.layernorm_guard ¶
LayerNormFn ¶
Bases: Function
Source code in vllm/model_executor/layers/fla/ops/layernorm_guard.py
forward staticmethod ¶
forward(
ctx,
x,
weight,
bias,
z=None,
eps=1e-06,
group_size=None,
norm_before_gate=True,
is_rms_norm=False,
)
If z is not None, we do norm(x) * silu(z) if norm_before_gate, else norm(x * silu(z))
Source code in vllm/model_executor/layers/fla/ops/layernorm_guard.py
LayerNormGated ¶
Bases: Module
Source code in vllm/model_executor/layers/fla/ops/layernorm_guard.py
__init__ ¶
__init__(
hidden_size,
eps: float = 1e-05,
group_size: int | None = None,
norm_before_gate: bool = True,
device: device | None = None,
dtype: dtype | None = None,
)
If group_size is not None, we do GroupNorm with each group having group_size elements. group_size=None is equivalent to group_size=hidden_size (i.e. there's only 1 group).
Source code in vllm/model_executor/layers/fla/ops/layernorm_guard.py
forward ¶
If z is not None, we do norm(x) * silu(z) if norm_before_gate, else norm(x * silu(z))
Source code in vllm/model_executor/layers/fla/ops/layernorm_guard.py
RMSNormGated ¶
Bases: Module
Source code in vllm/model_executor/layers/fla/ops/layernorm_guard.py
__init__ ¶
__init__(
hidden_size,
eps: float = 1e-05,
group_size: int | None = None,
norm_before_gate: bool = False,
device: device | None = None,
dtype: dtype | None = None,
)
If group_size is not None, we do GroupNorm with each group having group_size elements. group_size=None is equivalent to group_size=hidden_size (i.e. there's only 1 group).
Source code in vllm/model_executor/layers/fla/ops/layernorm_guard.py
forward ¶
If z is not None, we do norm(x) * silu(z) if norm_before_gate, else norm(x * silu(z))
Source code in vllm/model_executor/layers/fla/ops/layernorm_guard.py
_get_sm_count cached ¶
Get and cache the SM count for a given device.