matrix multiplications, tiling, boundary checking