This project is developing a generic Genetic Programming system that is inherently parallel. Genetic Programming uses Darwinian selection and reproduction to evolve a solution to a problem, where individuals are represented by computer programs. A user defined fitness function drives the evolutionary process. We are parallelizing our GP system with our AutoMap and AutoLink MPI Libraries (http://www.nist.gov/itl/div895/savg/auto/
). These libraries facilitate two MPI operations: the creation of MPI data types through examination of the C code, and the sending and receiving of linked (i.e., with pointers) data structures. Communication can be either blocking or non-blocking. Additionally, a packet size tuning tool is available to enable the best choice of packet size for the communication network the code is run on.Individuals are constructed out of basic operations that can be tailored to the specific application. Likewise, the fitness function determines degree of success and is chosen for the problem. Applications are many and varied.