Prerequisite: input files (example: *.dat file corresponding to a *.res file with OBJET=3)
Budget and Timeline Risk Factors
It is difficult to estimate the amount of work involved in completing the items designated in bold font below. Depending on the complexity of what we discover in the course of this SOW, completing the bold items might require either
Offloading much of the supporting work to RadiaSoft or
A separate SOW to be billed on an hourly basis.
Steps
[x] Identify arrays that hold particle state vectors with one dimension corresponding to a unique particle identification (ID) number.
[x] Partition particle ID ownership evenly across images.
[x] Identify DO loops over particle ID in the code blocks exercised by the chosen test.
Example: DO IT = 1,IMAX at transf.f line [110].
[x] Not needed: Identify implicit loops over particle ID in the code blocks exercised by the chosen test.
Example: the implicit loop that starts at 222 CONTINUE in obj3.f, terminates at one of the jumps to statement labels 95 or 97, and sets IED, which potentially plays a role in terminating another implicit loop starting at 221 CONTINUE
[ ] Optional: convert GOTO/CONTINUE loops to DO/END DO to clarify the program control flow.
[x] Restrict computation on each image to the particles owned by the given image
Example: change the above DO loop to DO IT = my_first, my_last or DO CONCURRENT....
Prerequisite: input files (example:
*.dat
file corresponding to a*.res
file withOBJET=3
)Budget and Timeline Risk Factors
It is difficult to estimate the amount of work involved in completing the items designated in bold font below. Depending on the complexity of what we discover in the course of this SOW, completing the bold items might require either
Steps
LET
,IEX
,FO
, andSI
atobj3.f
line 448.DO
loops over particle ID in the code blocks exercised by the chosen test.DO IT = 1,IMAX
attransf.f
line [110].222 CONTINUE
inobj3.f
, terminates at one of the jumps to statement labels 95 or 97, and setsIED
, which potentially plays a role in terminating another implicit loop starting at221 CONTINUE
GOTO
/CONTINUE
loops toDO
/END DO
to clarify the program control flow.DO
loop toDO IT = my_first, my_last
orDO CONCURRENT...
.