matrix multiply

The tricky part in this was that, I took some time to intuit that each thread should associate to each value in the output matrix.