Prerequisites

A course in numerical methods/scientific computing, good C/C++ programming skills, Linux, basic knowledge of computer architecture.