n個の要素とn_threadsのベクトルが利用可能であるとしましょう。#pragma omp parallel
各スレッドがn/n_threadsのチャンクサイズを受け取り、場合によっては最後のスレッドがさらに受け取るように使用したいと思います。
#include <stdio.h>
#include <omp.h>
int main()
{
int *v = malloc ( n * sizeof(int) );
#pragma omp parallel for (what should i put here?)
for(i = 0; i < n; ++i)
{
++v[i];
}
return 0;
}
例:n = 10003、n_threads = 4
- thread_0は2500チャンクを取得する必要があります
- thread_1は2500チャンクを取得する必要があります
- thread_2は2500チャンクを取得する必要があります
- thread_3は2503チャンクを取得する必要があります