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

Add NAG to Blues #346

Merged
merged 4 commits into from
Oct 28, 2015
Merged

Add NAG to Blues #346

merged 4 commits into from
Oct 28, 2015

Conversation

rljacob
Copy link
Member

@rljacob rljacob commented Oct 6, 2015

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.

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.
@rljacob
Copy link
Member Author

rljacob commented Oct 6, 2015

@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

@jayeshkrishna
Copy link
Contributor

Ok, I will give it a try

@jgfouca
Copy link
Member

jgfouca commented Oct 6, 2015

Cool, I'd love to have the nightlies use the NAG compiler on blues.

@singhbalwinder
Copy link
Contributor

I will try to build it on Blues and let you know if I find anything.

@jayeshkrishna
Copy link
Contributor

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.

@rljacob
Copy link
Member Author

rljacob commented Oct 6, 2015

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.

@singhbalwinder
Copy link
Contributor

I am not sure but can this be addressed by using wmismatch flag?

@jayeshkrishna
Copy link
Contributor

No I don't think that is the solution (MPI_OFFSET could be 4 bytes). The solution should be in PIO.

@jayeshkrishna
Copy link
Contributor

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).

@singhbalwinder
Copy link
Contributor

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.

@jayeshkrishna
Copy link
Contributor

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.

@singhbalwinder
Copy link
Contributor

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.

@jayeshkrishna
Copy link
Contributor

Yes, the emails in the gist suggest the same thing.
Rob, can you compile the entire software stack (mpich, netcdf, pnetcdf ..., acme) with the "-kind=byte" compiler option and see if it works?

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.
@rljacob rljacob self-assigned this Oct 20, 2015
@rljacob
Copy link
Member Author

rljacob commented Oct 20, 2015

This is now ready so editing the main message above.

rljacob added a commit that referenced this pull request Oct 20, 2015
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.
@singhbalwinder
Copy link
Contributor

Hi @rljacob : Does the model compiles and runs fine with NAG on Blues now?

@rljacob
Copy link
Member Author

rljacob commented Oct 20, 2015

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.
rljacob added a commit that referenced this pull request Oct 21, 2015
Re-merge to next to change default compiler to pgi
@rljacob
Copy link
Member Author

rljacob commented Oct 28, 2015

This has been on next for a while and includes workarounds for broken softkeys for pgi serial-netcdf so sending this to master.

@rljacob rljacob merged commit 760ef66 into master Oct 28, 2015
rljacob added a commit that referenced this pull request Oct 28, 2015
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]
@jgfouca jgfouca deleted the rljacob/blues-nag branch August 31, 2016 02:48
jgfouca pushed a commit that referenced this pull request Feb 27, 2018
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]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants