Abstract: A method for compiling a source code into a parallel executable form, in which the execution order of the executable is partially undefined. During the compilation process a partial execution order is first defined for instructions having ordering constraints related to the source code level. The partial execution order is then completed with architecture related ordering constraints in order to produce an executable code.
Abstract: A method for producing parallel computer programs by using a compilation method that produces executable computer programs having an undefined execution order. The execution order is defined during execution of the program depending on the execution architecture. This allows the best possible level of concurrent execution in different architectures. The compilation method includes producing data dependency and data flow graphs that are used for executable code generation.