Project: Optimization of the Modeling of Interaction Between
Turbulence
and Sheared Flows
Student Researchers: Michelle Almeida and Amanda Gellhouse
Advisor: Dr. Kara Nance
Institution: University of Alaska Fairbanks
Purpose/Objectives
The goal of the project was to perform an exhaustive profiling of legacy
FORTRAN code that models how well one can contain plasma using variousmethods
such as sheared flows to minimize turbulent transport for the purposes
of creating fusion. This profiling was to involve running timing tests,
evaluating structure and program flow, improving performance serially
and creating a graphical layout of the data flow.
Overview of Research Process
In order to gain a better understanding of the overall code structure
and
program flow, we used a collection of Fortran 77 utilities (ForUtil)
developed by two students from Delft University of Technology in the
Netherlands. These tools allowed us to construct an accurate calling tree
for the code and gave us a broad perspective of how the routines
interacted with one another and the overall program flow. The next step
involved examining the code in detail, subroutine by subroutine. For each
subroutine within the code, we examined the input parameters, associated
variables, and subroutine function interaction and accordingly noted
optimizations that could be applied to increase program performance.
Results/Conclusions
The project uncovered a plethora of opportunities for optimization within
the FORTRAN code. These included never-used COMMON blocks and variables,
unused subroutines, and inefficient looping structures. The project was
an extremely valuable learning experience, and we are grateful to have
had
the opportunity to work on it. Neither of us were familiar with FORTRAN
code, so to understand the code itself was an exercise. We also gained
much insight into the art of code optimization, as well as the
documentation and physical representation of a large and complex set of
interactive routines.
Web Content
The profiles for the Fortran subroutines and the flowcharts representing
program flow are viewable on the web at
www.as.uaf.edu/~fsmla3/crewproject.html