CCE 10 and 11 on ARCHER2

I’ve just sent an email to the umsysteam at metoffice… about compiling the UM with CCE 10 and 11. I’ve mentioned these things in group meetings, but I thought that I’d copy the email here in case anyone has forgotten and comes across these things themselves. I’m not really proposing to do a lot about these issues, but I never really know which information is helpful, so I thought I’d write it all down in an email and also here.

To those who may be interested in CCE 10 and 11, particularly when compiling the UM and shumlib,

I’ve been looking at compiling the UM with the cray environment on ARCHER2 with respect to the release which is coming up. A couple of things have come up, which I thought that I would email about in case anyone is interested.

  • CCE 10 - the UKCA mod has a compiler bug with the -R bcdsp option (rigorous compile). This problem, which has been noted in a previous correspondence, is fixed by CCE 11.
  • But- if you use CCE 11 then shumlib won’t compile. This is because of a recasting of signed/unsigned integers in a loop in the byteswap routines. I have compiled the UM with the usual ARCHER2 options with CCE11 using a modified branch of shumlib (/dev/davidcase/r5093_byteswap_cce11) with a hack to run the loop from 1->span (not 0).

Going forwards - on ARCHER2 we will stick to default CCE (10.0.4) and accept that the rigorous compiles of the UM won’t work for now. This email is really just to pass on these observations in case anyone else is affected by them.



As a slight update, ARCHER2 and HPE looked at the issue of shumlib not building with CCE11. Apparently it does build with a developer version of CCE12, so perhaps this is an issue limited to 11?

For now we stick to CCE10 (default), which will build shumlib happily, and ignore the rigorous build error in the UKCA mod.