shared memory and reductions work