Ported C++ preprocessor to the Intel Paragon (Mach O/S).
Handled consistency problems with the standard C include files and reworked them into C++ include files.
I was granted a six month applications fellowship to design, develop and demonstrate a semi-automatic parallelizing compiler for data parallel C and Fortran programs. The paracompiler (called "hypertasking") interpreted user-supplied directives to achieve both data and control decomposition. It converted an annotated sequential program into an efficient parallel code that could be run on any size multicomputer (hypercube). It was also the first project of its kind to support redistributable and resizeable arrays.
For demos, I parallelized both a 3-D version of the game of Life and a multigrid Gauss-Seidel program using Hypertasking with X-window color graphics. I wrote the C Hypertasking preprocessor as a source-to-source compiler with yacc and lex.
Some pictures of hypertasking demos .
T90 Parallel Software Testing Project
Lead the design and implementation of a test automation environment based on the make utility. Multiple test drivers were capable of building and executing tests on four different hypercube architectures simultaneously using an ensemble of several different iPSC systems. Wrote a System Restart Daemon (SRD) that detected hung test drivers, aborted them, rebooted the iPSC< and resumed testing so test drivers could proceed over several days unattended.
Implemented a bug tracking database using Oracle. Wrote, maintained and executed tests for a concurrent debugger (reported 160 bugs), CFS (the iPSC concurrent file system), and remote host software. Prototyped a radix sorting utility for the hypercube. Wrote early versions of Hypertasking in spare time.