Programming Massively Parallel Processors