-
Notifications
You must be signed in to change notification settings - Fork 251
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
compile error on NOAA Jet #1719
Comments
If there is still problem, it might be worth to connect with #1707. Can you point to the experiment path? So, we may give a try with the spack stack. |
Sure, on jet the build directory is /mnt/lfs4/NAGAPE/hpc-wof1/mansell/ufs/ufs-srw-210/sorc/ufs_dev (build_ideal2) This directory also has some changes to atmos_cubed_sphere to support idealized doubly-periodic test cases. But the same is true on hera, where it compiles and runs fine. When I have some time, I can set up a test on jet where the only changes are for CCPP. |
From some websearching, it may work to use an option -mcmodel=medium (default is 'small'), but it doesn't make sense because it compiles/links without problem on hera (also with Intel compilers, but slightly older versioin). It's strange. Also, I'm not sure how to add that compile option everywhere to test if it would work. It would be better not to have to use it because it might affect performance. |
FYI: I was able to get a successful build by adding -mcmodel=medium to the fortran flags in Intel.cmake. I'm not sure that's the best option, though. The current release code compiles OK, so the problem is somehow caused by my updated NSSL microphysics subroutine that I'm testing. The update adds a non-trivial amount of code to the main subroutine. I don't know if it would help to try to split some of that into separate routines, or if it is just the total amount of code that is at issue. The static work arrays don't seem to play a role, because changing their size from (500) to (1) doesn't help. |
Another qualifier is that the error shows up on Jet with -DDEBUG=ON but not when debug is off. On hera, it completes either way. |
@jkbk2004 Yes, the PR implements the 'mcmodel' fix for Jet. I think I understand now that Jet has this issue because it compiles for multiple CPU types, whereas hera only has one type. That results in larger object files on Jet and thus hits the size limit. What is curious is that the explicit mcmodel=small in ESMF appears to override the setting of medium, and it still works -- I'm not completely sure how that works. We could probably close this out. |
Ok, @MicroTed . Closing this out for the time being. If it reoccurs during continued testing of 1924, then we can re-open it. |
I've been working on an update for the NSSL microphysics scheme, and I'm getting an odd error on Jet at the final link stage:
The same code compiles fine on Mac (GNU/x86) and Hera (intel 2021). And the unmodifed microphysics code links fine on Jet. I have no idea why the problem arises on Jet, but maybe the newer Intel compiler has something to do with it? The NSSL code is adding 3 variables and associated rate arrays and code to compute them.
It seems to be a memory addressing issue (based on google search), but I'm not familiar with diagnosing that.
The text was updated successfully, but these errors were encountered: