An Approximate Riemann Solver for MHD Computations on Parallel Architectures