1. A method for providing parallel processing capabilities, the method comprising: performing scalar privatization analysis on a software code including code segments via a compiler; performing array privatization analysis on the software code via the compiler, the array privatization analysis including determining which arrays are private; recognizing a code segment as including a reducible assignment as a maximum or minimum reduction pattern for the assignment of a maximum or minimum value through a pattern matching algorithm, recognizing including: determining that the code segment includes a loop that starts with an if statement; determining that the segment includes at least one more assignment statement than an array being operated on by the code segment; determining that the code segment includes either a maximum value assignment or a minimum value assignment for a variable of the if statement; classifying the code segment as being a maximum value reduction in the event that the code segment includes the maximum value assignment and classifying the code segment as being a minimum value reduction in the event that the code segment includes the minimum value assignment; and performing transformations and code generation for the maximum or minimum value value reduction.