pub struct FlatRelation {
pub arity: u32,
pub row_count: u32,
pub values: Vec<u64>,
}Expand description
One candidate relation as the flat COLUMN-MAJOR buffer the kernel reads.
Column-major is the device law: production relations live as columnar
device buffers, so device ingest is a plain D2D copy per column (no
host round-trip, no transpose), and threads walking rows of one
position read contiguous memory. The cell for (row, position) is
values[position * row_count + row] — the SAME indexing formula the
CUDA kernel uses; all offsets are in u64 ELEMENTS, never bytes.
Fields§
§arity: u32§row_count: u32§values: Vec<u64>Column-major values; length == arity * row_count.
Implementations§
Trait Implementations§
Source§impl Clone for FlatRelation
impl Clone for FlatRelation
Source§fn clone(&self) -> FlatRelation
fn clone(&self) -> FlatRelation
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FlatRelation
impl Debug for FlatRelation
impl Eq for FlatRelation
Source§impl PartialEq for FlatRelation
impl PartialEq for FlatRelation
Source§fn eq(&self, other: &FlatRelation) -> bool
fn eq(&self, other: &FlatRelation) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for FlatRelation
Auto Trait Implementations§
impl Freeze for FlatRelation
impl RefUnwindSafe for FlatRelation
impl Send for FlatRelation
impl Sync for FlatRelation
impl Unpin for FlatRelation
impl UnsafeUnpin for FlatRelation
impl UnwindSafe for FlatRelation
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more