Skip to main content

exec_dram_ambit

Function exec_dram_ambit 

Source
pub fn exec_dram_ambit(heap: &mut [Row], prim: &Prim) -> Option<()>
Expand description

Execute prim on the DRAM plane at the AMBIT tier (Seshadri et al., MICRO 2017): the unmodified ComputeDRAM ops (exec_dram) PLUS bulk NOT (dual-contact cells) and XOR (NOT + triple-row MAJ, a multi-row in-DRAM sequence — the RESULT is exactly a ^ b, the ≡VM contract; the sequencing is the in-DRAM implementation detail). Ambit needs MINOR DRAM modifications, distinct from the unmodified exec_dram. Returns None only for the reduction (Popcount is control-shaped → host). Realizes EXACTLY the descriptor’s dram_ambit ops, and agrees op-for-op with exec_reference.