moe.py 705 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
import torch


def moe_align_block_size(
    topk_ids,
    num_experts,
    block_size,
    sorted_token_ids,
    experts_ids,
    num_tokens_post_pad,
    token_cnts_buffer,
    cumsum_buffer,
):
14
    torch.ops.sgl_kernel.moe_align_block_size(
15
16
17
18
19
20
21
22
23
        topk_ids,
        num_experts,
        block_size,
        sorted_token_ids,
        experts_ids,
        num_tokens_post_pad,
        token_cnts_buffer,
        cumsum_buffer,
    )
24
25
26
27
28
29
30
31
32
33
34


def topk_softmax(
    topk_weights: torch.Tensor,
    topk_ids: torch.Tensor,
    token_expert_indices: torch.Tensor,
    gating_output: float,
) -> None:
    torch.ops.sgl_kernel.topk_softmax(
        topk_weights, topk_ids, token_expert_indices, gating_output
    )