OpenMPによるタスク並列化

タスク並列化はsections,sectionで行う。ただし、オーバーヘッドが大きいので注意。


#define N 90000000
int a[N];
int b[N];
int c[N];
int d[N];
int main()
{
int i=0;
int k=0;
int l=0;
int j=0;
#pragma omp parallel
#pragma omp sections
{
#pragma omp section
{
for(i=0;i
タスク並列化しない場合
real 0m3.620s
user 0m2.729s
sys 0m0.888s

タスク並列化した場合
real 0m13.968s
user 0m53.998s
sys 0m1.366s