Main Project

Introduction

My main project involves the integration of molecular dynamics code (moldyn) into an already implemented task graph interface. This helps to visualize the code and compare the parallel performance of the task graph code to OpenMP. The task graph interface specifies a task to be performed for each tile of the moldyn code. Each tile is a part of the iteration loops in the code. The moldyn code involves three main loops. The first loops over the atoms, the second over the interactions, and the third over the atoms again. A tile is a group of these iterations from each of the three loops that can be run in parallel. In the moldyn task graph code the task performed is the moldyn computation. Another benefit to this integration is the visual tool it provides. From the task graph one can see which tiles are able to run in parallel and how they depend on one another. Each edge between the nodes (tiles) is a dependency.
The graphs generated are color coded to indicate the tile each is in. The algorithm I developed generates a unique color for each tile so that they are distinct. This coloring makes the graphs easier to interpret. There are two dependency graphs generated. The first is the course grained dependency graph which just shows which tiles are dependent on each other. The second is the fine grained dependency graph that shows each iteration of each loop and displays the interactions between the loops. These are both colored according to tiles so that it is easier to see which tile an iteration belongs to.

Project Goals

  1. Integrate existing moldyn code into the task graph interface
  2. Create the fine grained dependency graph for the moldyn loops
  3. Run tests to compare performance of different parallelization algorithms
  4. Add algorithm to color and reorder the graph to improve performance
  5. Calculate the average parallelism for the task graph
  6. Run tests in order to collect information about the performance

Side Project

Introduction

ReorderMM is a program that reorders sparce matricies given a matrix market file, an algorithm, and an output file. The specified algorithm is the algorithm that is used to reorder the given matrix file. The program generates a reordering in the form of a matrix market file and returns it in the provided output file.

The web interface will allow this process to be simplified. It will allow the user to go online and specify a file through a file uploader and an algorithm through a radio button, then it will generate the resulting file and allow the user to download it. It will also provide a list of statistics for the matrix market file provided. The goal of this project is to provide a tool for http://www.cise.ufl.edu/research/sparse/matrices/  who we hope will link to the site.

Project Goals

1. Create a web page interface to the ReorderMM program using PHP.
2. Add a matrix file statistics table to the site