-
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
Add NAG to Blues #346
Add NAG to Blues #346
Conversation
Enable Blues to compile with the NAG compiler. Blues currently has NAG 6.0. Only mpich3 is supported for now because that's the version pnetcdf was built with using nag.
@singhbalwinder and @jayeshkrishna , I can't get past the pio build. Can you check out this branch and try it? I was using the simple A-case: -res f45_g37_rx1 -mach blues -compset A -compiler nag |
Ok, I will give it a try |
Cool, I'd love to have the nightlies use the NAG compiler on blues. |
I will try to build it on Blues and let you know if I find anything. |
Looks like NAG defines MPI_OFFSET to be 4 bytes and there are two functions defined within an interface in PIO , one for 4 byte ints and another for pio_offset_kind=mpi_offset_kind, and the compiler is aborting because choosing the right function within the interface is now ambiguous. |
Is MPI_OFFSET something that can be changed in the mpich build? This is using mpich 3.1.4 which is what Rob Latham used to get pnetcdf 1.6.1 to build with NAG. |
I am not sure but can this be addressed by using wmismatch flag? |
No I don't think that is the solution (MPI_OFFSET could be 4 bytes). The solution should be in PIO. |
On a second thought, there could be a bug in MPICH configure resulting in MPI_OFFSET being chosen as 4 bytes (A quick comparison of the MPICH and PIO configure shows two different range requirements for mpi_offset and pio_offsets). |
I got these errors when I first started working with NAG (see the thread: https://bb.cgd.ucar.edu/compilation-failure-pio-using-nag-compiler). Our system support rebuilt the MPI (I am not sure what they did differently) and the problem went away. So the MPICH and PIO mismatch, which @jayeshkrishna mentioned above, might be causing this failure. |
Thanks, that helps a lot. The "-kind" option needs a closer look (-kind=byte when building both MPICH and PIO?). I will check this tomorrow. |
It seems right. I have created a gist (https://gist.github.com/singhbalwinder/d3fa543e14d1c8d8237a) of my email exchanges with our system support regarding this issue (please read from bottom to top). Hope this helps. |
Yes, the emails in the gist suggest the same thing. |
Blues includes -kind=byte in the mpif90 wrapper so remove it from the general nag settings. Blues uses mpich3 for nag which calls the library mpi instead of mpich. [BFB]
The +netcdf-4.3.1-serial softkey isn't working on blues so point to a build in /home/jacob for now.
This is now ready so editing the main message above. |
Add NAG to Blues. Workaround for PGI build. Enable Blues to compile ACME with the NAG compiler version 6.0 Only mpich3 is supported because pnetcdf/nag was built with it. serial netcdf is pointing to a temporary location for now. Acme-developer does not completely pass yet. The serial netcdf softkey for pgi is currently not working and this commit also provides a workaround and reenables pgi buids on Blues.
Hi @rljacob : Does the model compiles and runs fine with NAG on Blues now? |
Depends highly on the case. Most of acme_developer built and ran except the I cases and didn't try the new MPAS cases. |
Make pgi the default compiler on blues since that is the one tested nightly with Jenkins and recent refactor of testing uses the default compiler.
Re-merge to next to change default compiler to pgi
This has been on next for a while and includes workarounds for broken softkeys for pgi serial-netcdf so sending this to master. |
Add NAG to Blues. Workaround for PGI build. Enable Blues to compile ACME with the NAG compiler version 6.0 Only mpich3 is supported because pnetcdf/nag was built with it. serial netcdf is pointing to a temporary location for now. Acme-developer does not completely pass yet. The serial netcdf softkey for pgi is currently not working and this commit also provides a workaround and reenables pgi buids on Blues. [BFB]
Add NAG to Blues. Workaround for PGI build. Enable Blues to compile ACME with the NAG compiler version 6.0 Only mpich3 is supported because pnetcdf/nag was built with it. serial netcdf is pointing to a temporary location for now. Acme-developer does not completely pass yet. The serial netcdf softkey for pgi is currently not working and this commit also provides a workaround and reenables pgi buids on Blues. [BFB]
Add NAG to Blues. Workaround for PGI build.
Enable Blues to compile ACME with the NAG compiler version 6.0
Only mpich3 is supported because pnetcdf/nag was built with it.
serial netcdf is pointing to a temporary location for now.
Acme-developer does not completely pass yet.
The serial netcdf softkey for pgi is currently not working and this commit also provides a workaround and reenables pgi buids on Blues.