From d71ec87a12a16b0d9929900af51f6469f8c65d02 Mon Sep 17 00:00:00 2001 From: Russel Arbore <russel.jma@gmail.com> Date: Tue, 25 Feb 2025 15:02:26 -0600 Subject: [PATCH] increase alignment of AlignedSlice --- juno_samples/rodinia/cfd/src/setup.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/juno_samples/rodinia/cfd/src/setup.rs b/juno_samples/rodinia/cfd/src/setup.rs index ad2ee961..b996f057 100644 --- a/juno_samples/rodinia/cfd/src/setup.rs +++ b/juno_samples/rodinia/cfd/src/setup.rs @@ -20,11 +20,11 @@ pub const VAR_DENSITY_ENERGY: usize = VAR_MOMENTUM + NDIM; pub const NVAR: usize = VAR_DENSITY_ENERGY + 1; pub const deg_angle_of_attack: f32 = 0.0; -#[repr(align(32))] -struct Alignment([u8; 32]); +#[repr(align(64))] +struct Alignment([u8; 64]); // An aligned slice is stored as a boxed slice and an offset number of elements -// that we skip over to get the desired alignment (of 32 bytes) +// that we skip over to get the desired alignment (of 64 bytes) pub struct AlignedSlice<T> { slice: Box<[T]>, offset: usize, @@ -37,8 +37,8 @@ where { pub fn of_len(len: usize) -> Self { // The maximum number of elements that may be waisted in getting the alignment we need is - // (32 - alignment of T) / size of T - let extra_elements = (32 - std::mem::align_of::<T>()) / std::mem::size_of::<T>(); + // (64 - alignment of T) / size of T + let extra_elements = (64 - std::mem::align_of::<T>()) / std::mem::size_of::<T>(); let slice: Box<[T]> = (0..len + extra_elements) .map(|_| Default::default()) .collect(); -- GitLab