Technical data

Parallel Programming Exercise
119
(dbx) where
> 0 _total_99_aaaa(_local_start = 2, _local_ntrip = 4,
_incr = 1,
_my_threadno = 0) ["/tmp/Ptotalkea_11561":36, 0x400974]
1 mp_simple_sched_(0x0, 0x0, 0x0, 0x0, 0x0, 0x40034c)
[0x400e38]
2 total.total(n = 100, m = 10, iold = (...), inew = (...))
["total.f":15, 0x4005f4]
3 MAIN() ["driver.f":25, 0x400348]
4 main.main(0x0, 0x7fffc7a4, 0x7fffc7ac, 0x0, 0x0, 0x0)
["main.c":35, 0x400afc]
(dbx) func total
[using total.total]
total:15 15 do j = 2, m1
(dbx) print m
10
(dbx) quit
Process 19324(total.ex) terminated
Process 19325(total.ex) terminated
%
There are several possible ways to correct this problem; they are left as an
exercise for the reader.
Parallel Programming Exercise
This section explains the techniques for applying Fortran loop-level
parallelism to an existing application. Each program is unique; these
techniques must be adapted for your particular needs.
In summary, the steps to follow are these:
1. Make the original code work on one processor.
2. Prole the code to nd the time-critical part(s).
3. Perform data dependence analysis on the part(s) found in the previous
step.