Research Article
Locality-Aware Task Scheduling and Data Distribution for OpenMP Programs on NUMA Systems and Manycore Processors
Listing 1
Parallel map implemented using OpenMP tasks.
/* Allocate and initialize data */ | for(int i=0; i<N; i++) { | list[i] = malloc(sizeof(int) * SZ); | initialize(i, list[i], SZ); | | /* Work in parallel */ | for(int i=0; i<N; i++) { | #pragma omp task input(list[i][0:SZ-1]) | map(list[i], SZ); | | #pragma omp taskwait |
|