burn_fusion/ops/
transaction.rs1use burn_tensor::ops::{TransactionOps, TransactionPrimitive};
2
3use crate::{Fusion, FusionBackend};
4
5impl<B: FusionBackend> TransactionOps<Fusion<B>> for Fusion<B> {
6 async fn tr_execute(
7 transaction: TransactionPrimitive<Self>,
8 ) -> burn_tensor::ops::TransactionPrimitiveResult {
9 B::tr_execute(TransactionPrimitive {
10 read_floats: transaction
11 .read_floats
12 .into_iter()
13 .map(|t| t.client.clone().resolve_tensor_float::<B>(t))
14 .collect(),
15 read_qfloats: transaction
16 .read_qfloats
17 .into_iter()
18 .map(|_t| todo!("Quantization not supported yet"))
19 .collect(),
20 read_ints: transaction
21 .read_ints
22 .into_iter()
23 .map(|t| t.client.clone().resolve_tensor_int::<B>(t))
24 .collect(),
25 read_bools: transaction
26 .read_bools
27 .into_iter()
28 .map(|t| t.client.clone().resolve_tensor_bool::<B>(t))
29 .collect(),
30 })
31 .await
32 }
33}