1. A method of compiling and executing a computer program on a general purpose target computer system, comprising the steps of: translating a high level source language into an intermediate language, the intermediate language stored in a computer memory; inserting one or more transfer statements into the intermediate language during one or more initial passes of an optimizer through the intermediate language, the transfer statements identifying a transfer of information, each of the transfer statements having a transfer operation and a transfer resolution, the transfer operation being a target machine independent part of the transfer of information and the transfer resolution being a target machine dependent part of the transfer of information; inserting compute rules into the intermediate language in one or more passes of the optimizer through a plurality of statements of the intermediate language, each of the compute rules determining which of one or more of the statements to execute during the executing of the computer program, the intermediate language with the inserted transfer statements and compute rules being an intermediate language plus XDP form; optimizing the intermediate language plus XDP form, including the transfer operations and compute rules by using the optimizer of the compiler; translating the optimized intermediate language plus XDP form into a target code in a back end of the compiler, the back end using one or more operations of the target computer system to resolve the transfer resolutions so that the target computer system can perform each transfer of information identified by the respective transfer statement, the transfer statement including the optimization of the transfer operation; updating a run-time table on each of one or more devices with run-time table information resulting from the execution of one or more target code representations of the transfer operations; and executing the target code on one or more devices of the computer system, the executing referencing one or more target code representations of the compute rules and one or more entries in a run-time table to control the execution of the target code.