On Jul 24, 2012, at 8:28 AM, Jason Swails <jason.swails.gmail.com> wrote:
>
> What about forcing synchronization with a bcast from commmaster's master?
> It should be fairly cheap given that the master communicator is only 2
> threads.
First, there are still lots of velocities involved. Second, each master would need to rebroadcast the data to its own subthreads.
>
> Another option is to define an 'extra' precision real variable to store the
> difference, which should eliminate the arbitrariness of the trailing
> decimals. You can use the 'kind' specifier, which is part of the Fortran
> 95 spec:
>
> real(kind=DIFF_KIND) :: small_diff = 0.0
Ouch. This whole things sounds like overagressive optimization by Intel. I'm traveling now, but I seem to remember some compiler options that enforce IEEE behavior and such. Can you try some less-agressive optimizations?
...dac
_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Tue Jul 24 2012 - 07:00:02 PDT