Practical Parallelization of Scientific Applications