Opened 10 years ago
Closed 10 years ago
#682 closed defect (Fixed)
Profile Report — at Version 1
| Reported by: | arango | Owned by: | arango |
|---|---|---|---|
| Priority: | major | Milestone: | Release ROMS/TOMS 3.7 |
| Component: | Nonlinear | Version: | 3.7 |
| Keywords: | Cc: |
Description (last modified by )
The routines wclock_on and wclock_off (timers.F) fail to report the profile timings in distributed-memory applications (MPI). This has been broken for awhile since the OpenMP directives were re-worked (see src:ticket:552). In that update the numthreads was modified in MPI to have the number of distributed nodes:
CALL mpi_comm_size (OCN_COMM_WORLD, numthreads, MyError)
This affected the logic in wclock_on and wclock_off in MPI applications, which needs numthreads = 1. To correct this problem, both routines were modified to have:
!
! Set number of subdivisions, same as for global reductions.
!
#ifdef MPI
NSUB=1
#else
NSUB=numthreads
#endif
then, we use NSUB instead of numthreads in the conditional statement in wclock_on:
IF (thread_count.eq.NSUB) thread_count=0
and in wclock_off:
IF (thread_count.eq.NSUB) THEN
thread_count=0
...
END IF
I also improved the time profile report in nested grid applications.
Many thanks to Kate Hedstrom for reminding me about this problem.
Change History (1)
comment:1 by , 10 years ago
| Description: | modified (diff) |
|---|---|
| Reporter: | changed from to |
| Resolution: | → Fixed |
| Status: | new → closed |
| Summary: | profile report → Profile Report |
| Type: | bug → defect |
