Task Parallelism with OpenMP