خیلی سخت نیست . برای نمونه :
int size =20;
std::vector<int> a(size);
std::vector<int> b(size);
///read a,b ...
std::vector<int> res(size);
#pragma omp parallel
#pragma omp for
for(i = 0; i < size ; i++)
{
res[i] = a[i] - b[i];
}
کاری که openmp میکنه اینه که for رو به چند قسمت میشکنه و هر thread یک قسمت از حلقه رو اجرا میکنه (مثلا 0 تا 5 یک thread و 5 تا 10 یک thread دیگه و... ) و نهایتا وقتی که همه thread ها کارشون تموم شد برنامه از حلقه for خارج میشه .