programming massively parallel processors exercise solutions