The porting of codes using Message Passing Inter- face (MPI) between distributed memory platforms be- comes as simple as moving the program to the target machine and recompiling. For codes written under the shared memory paradigm to be able to take advantage of this easy porting, they must first be translated to execute under a distributed memory environment.
We focus on the translation of non-numeric parallel algorithms from shared memory to distributed memory machines. Specifically, we present techniques to determine where calls to MPI message passing routines must be inserted to preserve data access patterns inherent in the original shared memory code.