Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OpenMP] a newly added loop collapse test fails the correctness check #86749

Open
vadikp-intel opened this issue Mar 26, 2024 · 1 comment
Open
Labels

Comments

@vadikp-intel
Copy link
Contributor

openmp/runtime/test/worksharing/for/collapse_many_int.c currently fails (has been marked for expected failure)

the check tests to see if OpenMP executed iterations of the following loop match its scalar execution
for (i = iLB; i <= iUB; i += iStep)
for (j = i * jA1 + jA0; j <= i * jB1 + jB0; j += jStep)
for (k = j * kA1 + kA0; k <= j * kB1 + kB0; k += kStep)

when built with -DVERBOSE and run it will produce the following output:
| Trying iLB=-2; iUB=3; jA0=-7; jA1=-1; jB0=5; jB1=0; kA0=-13; kA1=-2; kB0=37; kB1=-1; iStep=1; jStep=4; kStep=2;
| OpenMP FAILURE: Openmp processed fewer iterations: 540 vs 542
| OpenMP FAILURE: (0 5 31) not processed
| OpenMP FAILURE: (1 4 33) not processed

apparently, for the case above OpenMP may be missing iterations: i=0; j=5; k=31 and i=1; j=4; k=33

@llvmbot
Copy link
Collaborator

llvmbot commented Mar 27, 2024

@llvm/issue-subscribers-openmp

Author: Vadim Paretsky (vadikp-intel)

openmp/runtime/test/worksharing/for/collapse_many_int.c currently fails (has been marked for expected failure)

the check tests to see if OpenMP executed iterations of the following loop match its scalar execution
for (i = iLB; i <= iUB; i += iStep)
for (j = i * jA1 + jA0; j <= i * jB1 + jB0; j += jStep)
for (k = j * kA1 + kA0; k <= j * kB1 + kB0; k += kStep)

when built with -DVERBOSE and run it will produce the following output:
| Trying iLB=-2; iUB=3; jA0=-7; jA1=-1; jB0=5; jB1=0; kA0=-13; kA1=-2; kB0=37; kB1=-1; iStep=1; jStep=4; kStep=2;
| OpenMP FAILURE: Openmp processed fewer iterations: 540 vs 542
| OpenMP FAILURE: (0 5 31) not processed
| OpenMP FAILURE: (1 4 33) not processed

apparently, for the case above OpenMP may be missing iterations: i=0; j=5; k=31 and i=1; j=4; k=33

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants