1. A method for computationally unifying a heterogeneous computer system, the method performed by one or more processor comprising: adding directives to an implicit processor source code; analyzing and abstracting said implicit processor source code with said directives to produce statement templates, source code elements and directive parameters; generating directive based statements from said statement templates, source code elements and directive parameters to produce directive specific code; collecting directive based statements from said directive specific code to produce unified directive specific code; and statement replacing and merging said unified directive specific code and said implicit processor source code with said directives to produce unified implicit processor source code and unified explicit processor source code.