Use static OpenMP schedule in ShellPatch::setupintintstuff
Static scheduling has lower overhead than guided for uniform workloads (grid points all have equal computational cost). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -2953,7 +2953,7 @@ void ShellPatch::setupintintstuff(int cpusize, MyList<Patch> *CPatL, int Symmetr
|
|||||||
}
|
}
|
||||||
while (sPp)
|
while (sPp)
|
||||||
{
|
{
|
||||||
#pragma omp parallel for collapse(3) schedule(guided)
|
#pragma omp parallel for collapse(3) schedule(static)
|
||||||
for (int iz = 0; iz < sPp->data->shape[2]; iz++)
|
for (int iz = 0; iz < sPp->data->shape[2]; iz++)
|
||||||
for (int is = 0; is < sPp->data->shape[1]; is++)
|
for (int is = 0; is < sPp->data->shape[1]; is++)
|
||||||
for (int ir = 0; ir < sPp->data->shape[0]; ir++)
|
for (int ir = 0; ir < sPp->data->shape[0]; ir++)
|
||||||
@@ -3073,7 +3073,7 @@ void ShellPatch::setupintintstuff(int cpusize, MyList<Patch> *CPatL, int Symmetr
|
|||||||
llb[j] = Pp->data->bbox[j] + (CS_width + 0.0001) * CDH[j];
|
llb[j] = Pp->data->bbox[j] + (CS_width + 0.0001) * CDH[j];
|
||||||
uub[j] = Pp->data->bbox[dim + j] - (CS_width + 0.0001) * CDH[j];
|
uub[j] = Pp->data->bbox[dim + j] - (CS_width + 0.0001) * CDH[j];
|
||||||
}
|
}
|
||||||
#pragma omp parallel for collapse(3) schedule(guided)
|
#pragma omp parallel for collapse(3) schedule(static)
|
||||||
for (int iz = 0; iz < Pp->data->shape[2]; iz++)
|
for (int iz = 0; iz < Pp->data->shape[2]; iz++)
|
||||||
for (int iy = 0; iy < Pp->data->shape[1]; iy++)
|
for (int iy = 0; iy < Pp->data->shape[1]; iy++)
|
||||||
for (int ix = 0; ix < Pp->data->shape[0]; ix++)
|
for (int ix = 0; ix < Pp->data->shape[0]; ix++)
|
||||||
|
|||||||
Reference in New Issue
Block a user