Hybrid Parallel Computing Strategies For Scientific Computing Applications