1. A method of executing a computer program that performs multiple processes, comprising: before executing the computer program, identifying a plurality of the processes that are capable of being executed in parallel on separate processors and generating computer code that identifies the plurality of processes; upon executing the computer program on a client computer, accessing metadata to determine if a computer grid having multiple nodes is available to execute the identified plurality of processes, wherein the client computer is not part of the computer grid; if the computer grid is available, then using the computer code to cause the identified plurality of processes to be executed on the computer grid, the computer code enabling the computer program to execute the identified plurality of processes in parallel on the multiple nodes of the computer grid; if the computer grid is not available, then determining if a multi-processor computer is available to execute the identified plurality of processes, and if so, then executing the identified plurality of processes in parallel using the multi-processor computer, wherein the multi-processor computer is not part of the computer grid; wherein the identified plurality of processes are executed sequentially on the client computer if neither the computer grid nor the multi-processor computer are available.