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:
2026-05-10 02:23:07 +08:00
parent fae4093863
commit 32529f09a6

View File

@@ -2953,7 +2953,7 @@ void ShellPatch::setupintintstuff(int cpusize, MyList<Patch> *CPatL, int Symmetr
}
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 is = 0; is < sPp->data->shape[1]; is++)
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];
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 iy = 0; iy < Pp->data->shape[1]; iy++)
for (int ix = 0; ix < Pp->data->shape[0]; ix++)