Hello Everyone,<br><br>I recently noticed that when running an MPI job processors would report different times for sub-timers, ie. not including the total_time timer. This is mostly due to some processors having to wait for mpi calls to finish while other ones don't. None of the previous versions of mpas_timer.F have supported making sure the timers report the same time over all of the processors. So I have attached a new version of mpas_timer.F that supports this. It essentially makes each timer's total time the maximum total time over all of the processors. It also gets the global max and min single call time to print as well. I think this gives a better over all profile for the time spent in routines rather than having to go through each processors log.*.out file to see how it behaved.<br>
<br>To support this, the timer module now stores a pointer to domain % dminfo so you don't have to pass it in to print out the timers. Doing this allows the current timer implementation to stay the same, and allows the syncing of timers by adding a single line to mpas_*_mpas_core.F within each core, which is:<br>
<br>call mpas_timer_init(domain)<br><br>within mpas_core_init.<br><br>I'm open to any comments or suggestions regarding this change, but I would like to propagate it to the trunk. I will also propagate the above addition to mpas_ocn_mpas_core.F but can add it to the other cores if requested. <br>
<br>Thanks for your input.<br>Doug<br>