implementation of openmp for iterative part