sparkle/native/ext/compute/fused_moe.h
fiser_jun 4745f264b2
2026-08-04 14:34:00 +08:00

24 lines
1.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// fused MoE 计算:合成/真实 mmap staging、staged(预切片权重)、slot(local slot 索引)三条工厂。
// 实现见 fused_moe.cpp这里只暴露给 bindings 的自由函数声明(默认参数放在声明处)。
#pragma once
#include "../common.h"
mx::array fused_moe(
const mx::array& x, const mx::array& expert_ids, const mx::array& scores,
const std::string& compute_dir, int layer, int hidden, int inter, int group,
int bits, int num_experts, bool synthetic, mx::StreamOrDevice s);
mx::array fused_moe_staged(
const mx::array& x, const mx::array& scores,
const mx::array& gate_w, const mx::array& gate_s, const mx::array& gate_b,
const mx::array& up_w, const mx::array& up_s, const mx::array& up_b,
const mx::array& down_w, const mx::array& down_s, const mx::array& down_b,
int hidden, int inter, int group, int bits, mx::StreamOrDevice s);
mx::array fused_moe_slots(
const mx::array& x, const mx::array& local_slots, const mx::array& scores,
const mx::array& gate_w, const mx::array& gate_s, const mx::array& gate_b,
const mx::array& up_w, const mx::array& up_s, const mx::array& up_b,
const mx::array& down_w, const mx::array& down_s, const mx::array& down_b,
int hidden, int inter, int group, int bits, mx::StreamOrDevice s);