- understand the key factors in applications that affect performance
- understand the key factors in computer systems that affect performance
- develop models that accurately predict performance of applications on systems
- develop an enabling infrastructure of tools for performance monitoring, modeling, and optimization
- validate these ideas and infrastructures via close collaboration with DOE SC and other applications owners
- transfer the technology to end users

AORSA is one of the major applications of DOE's fusion modeling program and so has been selected by the PERC project as one of the applications to analyze and model. The AORSA model is being used in the Fusion Energy SciDAC project : Numerical Computation of Wave Plasma-Interactions in Multi-dimensional Systems . There are a 2-D and 3-D versions of AORSA. AORSA-2D provides a high-resolution, two-dimensional solutions for mode conversion and high harmonic fast wave heating in tokamak plasmas. AORSA-2D takes advantage of new computational techniques for massively parallel computers to solve the integral form of the wave equation in two dimensions without any restriction on wavelength relative to orbit size, and with no limit on the number of cyclotron harmonics retained. AORSA-3D model provides fully three-dimensional solutions of the integral wave equation for minority ion cyclotron heating in three dimensional stellarator plasmas. By combining multiple periodic solutions for individual helical field periods, it is possible to obtain complete 3-D wave solutions valid over the entire volume of the stellarator for arbitrary antenna geometry. AORSA algorithms are used in production on the IBM SPs at both ORNL and NERSC and on the Compaq Alpha server located at ORNL. AORSA moels are research models and as such, they are not community supported , and their is no formal documentation describing these codes.

**Algorithm Performance**

Pat Worley's results
shows the performance of AORSA-3D on Cheetah which is an early evaluation
IBM-SP4 machine located in the Center
for Computational Sciences at ORNL. The main scaling parameters
are the number of Fourier modes (nmodesx, nmodesy and nmodesphi (3-D version)
) and the number of block rows and block columns that the matrix is divided
into (nprow and npcol).

All of the codes are written in FORTRAN and use MPI for message passing.
Equally important, these codes require the ScaLAPACK
, BLACS and PBLAS
libraries. Future versions will be based on FORTRAN 90.

**Download, porting, and running**

The AORSA programs and data files can be downloaded from XXXX. The
download includes a Notes.AORSA file that will help you install and run
the application. The Notes.AORSA file includes the following:

- Directory structure
- Compiling the model
- Validated input and output files
- Instructions on how to run the model

The AORSA package contains both the 2D and 3D versions of the code, the input files used for modeling specific problem sizes, and a set of run scripts for specific problem sizes. From the top directory, a user can build the model by type make -f make.(Arch).(2D or 3D). For example, to build AORSA-3D on the Compaq Alpha-Server, one would type "make -f makefile.compaq.3D. Building the model executable and running the model are two separate, distinct steps. The model has been tested and will run on the following machines: IBM SP, IBM p690 and Compaq Alphaserver.

**Directory structure**

- ./Makefiles Architecture dependent makefiles for making AORSA
- ./src Source Code
- ./obj object files
- ./run Contains subdirectories of specific runs
- ./run/xaorsa executable

To build the model executable, go to the top directory and type make -f make.(Arch).(2D or 3D). Compiling takes ~5 minutes. The executable will be placed in the run subdirectory and and will be called xaorsa(3d or 2d).

**Changing the number of processors**

This requires editing the input file *aorsa(3d or 2d).in*

- nprow - number of porcessors in the i-index direction
- npcol - number of segments in the j-index direction

**Running the model**

**Performance Data**

back to Bill Shelton's page