Matrix-Vector Multiplication Using Shared and Coalesced Memory Access