Technical data
118
Chapter 6: Compiling and Debugging Parallel Fortran
(dbx) where
> 0 _total_99_aaaa(_local_start = 6, _local_ntrip = 4,
_incr = 1,
my_threadno = 1) ["/tmp/Ptotalkea_11561":36,
0x400974]
1 mp_slave_sync(0x0,0x0,0x1,0x1,0x0,0x0)["mp_slave.s":119,
0x402964]
The slave process has entered the multiprocessed routine from the slave
synchronization routine mp_slave_sync. Both processes are now at the
AGGREGATE assignment statement. Look at the values of the indexes in
both processes.
(dbx) print ii
1
(dbx) print jj
1
(dbx) print ii pid 19324
1
(dbx) print jj pid 19324
1
The indexes are the same in both processes. Now examine the arguments to
the multiprocessed routine; note that this information can also be seen in the
where command above.
(dbx) print _local_ntrip
4
(dbx) print _local_start
6
(dbx) print j
6
(dbx) print _local_ntrip pid 19324
4
(dbx) print _local_start pid 19324
2
(dbx) print j pid 19324
2
The analysis for this loop assumed that J/10 would be different for each loop
iteration. This is the problem; confirm it by looking further into the loop
(dbx) active 19324
Process 19324(total.ex) breakpoint/trace
trap[_total_99_aaaa:36,0x400974]










