metrale_model_engine/model/trait_impl/
impl_ep.rs1use anyhow::Result;
10
11use crate::model::types::TransformerModel;
12use crate::traits::{ModelEp, SequenceState};
13
14impl ModelEp for TransformerModel {
15 fn ep_worker_step(&self, slots: &mut [Option<SequenceState>]) -> Result<bool> {
16 self.gdn_carry_flush_pending()?;
17 self.ep_worker_step_dispatch(slots)
18 }
19
20 fn is_ep(&self) -> bool {
21 self.is_ep_dispatch()
22 }
23
24 fn ep_broadcast_cmd(&self, cmd: u32) -> Result<()> {
25 self.ep_broadcast_cmd_dispatch(cmd)
26 }
27
28 fn ep_broadcast_cmd_for_seq(&self, seq_id: u32, cmd: u32) -> Result<()> {
29 self.ep_broadcast_seq_and_cmd(seq_id, cmd, self.ep_protocol_v2)
32 }
33
34 fn ep_protocol_v2(&self) -> bool {
35 self.ep_protocol_v2
36 }
37
38 fn ep_broadcast_tokens(&self, tokens: &[u32]) -> Result<Vec<u32>> {
39 self.ep_broadcast_tokens_dispatch(tokens)
40 }
41}