ruda_tensor_device/dispatch/
transaction.rs1use ruda_tensor::{
2 backend::ExecutionError,
3 ops::{TransactionOps, TransactionPrimitive, TransactionPrimitiveData},
4};
5
6use crate::{DeviceBackend, DeviceRuntime, FloatElement, IntElement, element::BoolElement};
7
8impl<R, F, I, BT> TransactionOps<Self> for DeviceBackend<R, F, I, BT>
9where
10 R: DeviceRuntime,
11 F: FloatElement,
12 I: IntElement,
13 BT: BoolElement,
14{
15 async fn tr_execute(
16 transaction: TransactionPrimitive<Self>,
17 ) -> Result<TransactionPrimitiveData, ExecutionError> {
18 ruda_kernel::tensor::transaction::execute(
19 ruda_kernel::tensor::transaction::ReadbackBatch {
20 read_floats: transaction.read_floats,
21 read_qfloats: transaction.read_qfloats,
22 read_ints: transaction.read_ints,
23 read_bools: transaction.read_bools,
24 },
25 ).await
26 }
27}