OpenMP Implementation