1. A computer implemented method for assigning executable functions to available processors in a multiprocessor environment comprising a processing architecture selected from the group consisting of one or more CPUs, one or more GPUs and combinations thereof, the method comprising: providing an input source comprising instructions and data; breaking the input source into data oriented cell and interface objects with processing attributes; using the cell and interface processing attributes to assign the cell and interface objects to the processing architecture; and producing output data.