-
Notifications
You must be signed in to change notification settings - Fork 383
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
Build issue in mpas-o with Intel v17 on cori #1176
Comments
OK, the change Martyn suggested does appear to get us past this issue. Can we make it? That is, in
|
@ndkeen thanks for posting this. |
@mark-petersen what is the status of this issue? |
+1 The issue shows up with Intel v17 on these tests
|
@amametjanov and @rljacob I will do this in the next few days. |
@amametjanov and @ndkeen I am not able to see this error on the machines I typically use. @ndkeen could you please post the code diff that solved the problem so I get it right? If I remember right, you simply changed the |
We will also look at the reusing of USE statements, but I think that issue is separate from this simple |
Here is what solved it for me on Anvil with Intel compiler v17:
|
@mark-petersen I did post the code above. Same as what Az has. |
@mark-petersen, as an ACME developer, you should get accounts on both cori and anvil. Then you can exactly reproduce the issue. |
It's true the compiler should be able to handle this, but the generating code does not need to put those extra USE statements at all. This fixes the issue, and it's cleaner, and the Intel guy said it might compile faster as well. This is the easiest way to fix it. If you wanted to try something local, I also was able to get it to compile by simply renaming the variable to be something else (like ierrzz), but as this is generated code, you would probably make the change in the same gen_inc.c and it would be propagated into all of those subroutines. |
FYI, I have a PR into MPAS-Dev/develop for those four lines in |
Bring in new versions of MPAS framework and components. This PR will bring in new versions of the MPAS framework and all three MPAS components. This PR fulfills the following Pull Requests: * Enable threaded ocean and ice tests (1038) * Ensures MPAS AM write/compute startup steps are performed (1191) * Open streams to redirect per-process stream output to /dev/null (ACME/MPAS 5) * Fix slow compilation of threaded MPAS-CICE on Mira (ACME/MPAS 6) * Fix slow compilation of threaded MPAS-O on Mira (ACME/MPAS 7) This PR fixes the following issues: * Restore threading tests for MPAS when threading working (828) * PET_Ln9.T62_oEC60to30.CMPASO-NYF Fails without baseline comparisons (1088) * write to stderr in MPAS framework file generating redundant output (1105) * option to build mpas-o without checking that using the correct cvmix (1111) * issues with MPAS components writing from all ranks (1133) * water cycle benchmark not deterministic when using threading in MPAS-O (1137) * Build issue in mpas-o with Intel v17 on cori (1176) It has been tested with: * PET_Ln9.T62_oQU240.GMPAS-NYF.edison_intel (now passes) * SMS.ne30_oEC.A_WCYCL2000.edison_intel (bfb with baseline) * SMS.T62_oQU120_ais20.MPAS_LISIO_TEST.edison_intel (bfb with baseline) * SMS.T62_oEC60to30.GMPAS-NYF.wolf_gnu (bfb with baseline) Fixes #828, Fixes #1088, Fixes #1105, Fixes #1111, Fixes #1133, Fixes #1137, Fixes #1176 [BFB] [NML]
Bring in new versions of MPAS framework and components. This PR will bring in new versions of the MPAS framework and all three MPAS components. This PR fulfills the following Pull Requests: * Enable threaded ocean and ice tests (1038) * Ensures MPAS AM write/compute startup steps are performed (1191) * Open streams to redirect per-process stream output to /dev/null (ACME/MPAS 5) * Fix slow compilation of threaded MPAS-CICE on Mira (ACME/MPAS 6) * Fix slow compilation of threaded MPAS-O on Mira (ACME/MPAS 7) This PR fixes the following issues: * Restore threading tests for MPAS when threading working (828) * PET_Ln9.T62_oEC60to30.CMPASO-NYF Fails without baseline comparisons (1088) * write to stderr in MPAS framework file generating redundant output (1105) * option to build mpas-o without checking that using the correct cvmix (1111) * issues with MPAS components writing from all ranks (1133) * water cycle benchmark not deterministic when using threading in MPAS-O (1137) * Build issue in mpas-o with Intel v17 on cori (1176) Fixes #828, Fixes #1088, Fixes #1105, Fixes #1111, Fixes #1133, Fixes #1137, Fixes #1176 [BFB] [NML]
Improve create_test output Setup cs.status as the first action instead of last. When a case is completed, add a little extra text for the user so they can estimate progress Test suite: scripts_regression_tests --fast Test baseline: Test namelist changes: Test status: bit for bit Fixes #1176 User interface changes?: cs.status produced early, minor create_test output changes Code review: @jedwards4b
On Cori, I ran into a build issue with Intel v17 (both versions on Cori) in the ocean. (See error message pasted in below). Looking closer in the code, there does not seem to be a problem at all! So assuming it was a compiler oddity, I found a simple work-around and continued working. The compiler is complaining that it thinks the integer variable
ierr
is brought in from a module and then also declared locally. But it is not brought in from a module. I simply renamed the local variable from ierr to ierrz and it compiled/worked. To fix this for the next time, I modifiedcomponents/mpas-o/model/src/tools/registry/gen_inc.c
to insert the code with this renamed local variable (ierrz instead of ierr). I don't see this issue with Intel v16. I'm including the source file as it's one of those auto-generated ones and it's good to see exactly what the compiler is trying to compile.mpas_ocn_core_interface.f90.txt
I also brought this up to Intel staff member Martyn Corden. I was granted permission to give this one source file to him. He replied:
The text was updated successfully, but these errors were encountered: