With recent changes in multicore and generalpurpose computing on graphics processing units the way parallel computers are used and programmed has drastically changed. It is important to provide a comprehensive study on how to use such machines written by specialists of the domain.