llama: refactor fused ops (#24646)
This commit is contained in:
@@ -38,6 +38,12 @@ enum llm_graph_type {
|
||||
LLM_GRAPH_TYPE_DECODER_MTP,
|
||||
};
|
||||
|
||||
enum llm_fused_op {
|
||||
LLM_FUSED_OP_FLASH_ATTN,
|
||||
LLM_FUSED_OP_GDN_AR,
|
||||
LLM_FUSED_OP_GDN_CH,
|
||||
};
|
||||
|
||||
enum llm_ffn_op_type : int {
|
||||
LLM_FFN_NONE = 0, // sentinel: unset; archs must assign before use
|
||||
LLM_FFN_SILU,
|
||||
@@ -775,6 +781,12 @@ struct llm_graph_params {
|
||||
}
|
||||
};
|
||||
|
||||
struct llm_graph_fused_node {
|
||||
llm_fused_op op;
|
||||
ggml_tensor * tensor;
|
||||
int il;
|
||||
};
|
||||
|
||||
class llm_graph_result {
|
||||
public:
|
||||
llm_graph_result(int64_t max_nodes);
|
||||
@@ -808,6 +820,10 @@ public:
|
||||
|
||||
llm_graph_input_i * add_input(llm_graph_input_ptr input);
|
||||
|
||||
void add_fused_node(llm_graph_fused_node result);
|
||||
|
||||
const std::vector<llm_graph_fused_node> & get_fused_nodes() const { return fused_nodes; }
|
||||
|
||||
void set_params(const llm_graph_params & params);
|
||||
|
||||
// important graph nodes
|
||||
@@ -826,6 +842,7 @@ public:
|
||||
std::map<llama_seq_id, ggml_tensor *> t_sampled_probs;
|
||||
|
||||
std::vector<llm_graph_input_ptr> inputs;
|
||||
std::vector<llm_graph_fused_node> fused_nodes;
|
||||
|
||||
ggml_context_ptr ctx_compute;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user