diff --git a/examples/block/example_block_reduce_dyn_smem.cu b/examples/block/example_block_reduce_dyn_smem.cu index c304090b22..c7f571e31e 100644 --- a/examples/block/example_block_reduce_dyn_smem.cu +++ b/examples/block/example_block_reduce_dyn_smem.cu @@ -98,8 +98,14 @@ __global__ void BlockReduceKernel( using BlockReduceT = cub::BlockReduce; using TempStorageT = typename BlockReduceT::TempStorage; + union ShmemLayout + { + TempStorageT reduce; + int aggregate; + }; + // shared memory byte-array - extern __shared__ char smem[]; + extern __shared__ __align__(alignof(ShmemLayout)) char smem[]; // cast to lvalue reference of expected type auto& temp_storage = reinterpret_cast(smem);