-
Notifications
You must be signed in to change notification settings - Fork 17
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
Inconsistent Results When "OpenMP Num Threads" is Greater Than 1 #19
Comments
@Calebsakhtar - was this fixed by commit 85a56a3? More generally, do you still see this bug when running with >1 thread? |
@sdeastham Just to report that compiling APCEMM on commit 85a56a3 still results in the above bug. I will now attempt compilation on the latest commit 618f20f |
Here are the instructions to replicate the behaviour reported above:
Please note that this behaviour has been observed in both Windows 11 Docker and on the Linux system of the Cambridge HPC. |
@sdeastham Just to report that compiling APCEMM on the latest commit 618f20f still results in the above bug. |
Thanks @Calebsakhtar ! To confirm, is that the result when outputting the standard "depth" variable directly or are you calculating a different kind of depth? |
@sdeastham The standard depth variable straight from APCEMM! |
Got it! OK - issue is reproducible on our HPC (in fact, it looks much worse): This seems to have the largest effect on these diagnostic variables. Prognostic variables like ice mass show very small differences (although these should still be nailed down, as they shouldn't happen for this case where there is in theory no randomness as temperature perturbation is disabled for example 3): @michaelxu3 any thoughts you might have on origin would be appreciated! In any case, I'll try to drill down and see if there's an obvious cause of this behaviour. @Calebsakhtar - can you confirm that this behaviour remains/disappears when:
|
@Calebsakhtar Also, was the profile you showed in the original post for Example 3 or for a different case? If it's example 3, that raises the question of why our profiles are so different (even setting aside the noise). |
@sdeastham The profile I showed was for one of the cases with my custom met conditions, not any of the examples. Sorry for not specifying this sooner. |
@sdeastham It will take me a while to confirm the other two cases, but at this time I can confirm that setting |
@sdeastham Finally got around to finishing the HPC runs. Here are the results:
|
Well, that is odd... thanks @Calebsakhtar ! I'll see if I can figure out what is going on. |
@sdeastham Sadly I have just rerun some cases with OpenMP Num Threads = 8 in the input.yaml file and it has resultied in the jumps being present in the extinction-defined width (standard APCEMM output) |
There seems to be an issue with threads reading and writing parts of the memory at the same time.
Here are APCEMM outputs with two consecutive runs when using 8 threads:
I was not able to recreate the random jumps with
OpenMP Num Threads
set to 1, but I was with more threads.The text was updated successfully, but these errors were encountered: