Patent ID: 8549496
Filing Date: 2013-10-01
Classification: G06F

Abstract:
1. A method for generating an executable program code operable on a multiple processor electronic data processing machine, the executable program code directing a plurality of parallel paths in a multiple processor environment, the method comprising the steps of: (a) expressing each of a plurality of operations in a set of first level expressions of the operation; (b) automatically generating source code language commands based on the first level expressions of the plurality of operations; (c) automatically identifying parallelisms (parallel processing paths) exhibited in the generated source code language commands by (i) identifying any parallelisms (parallel processing paths) exhibited without simplification in the set of first level expressions of the plurality of operations, (ii) determining a level of nesting for each of the first level expressions, (iii) if the level of nesting is greater than a defined level then carrying out a normalize, transpose, distribute (NTD) process sequence on the first level expressions having a level of nesting greater than the defined level, (iv) if the level of nesting is equal to the defined level then carrying out a consume, simplify, produce (CSP) process sequence on the first level expressions having the level of nesting equal to the defined level, (v) identifying any parallelisms (parallel processing paths) exhibited in the normalize, transpose, distribute process sequence on the first level expressions having the level of nesting greater than the defined level, and (vi) identifying any parallelisms (parallel processing paths) exhibited after the consume, simplify, produce process sequence on the first level expressions having the level of nesting equal to the defined level; (d) compiling the generated source code language commands into the executable program code; and (e) directing the parallel processing paths of the multiple processor electronic data processing machine using the executable program code.