Patent ID: 7725679

Claim:
A method for programmatically creating a distributed array for processing in a parallel computing environment, the method comprising: providing a first parallel computing unit and a second parallel computing unit; identifying a first non-distributed array residing on the first parallel computing unit, the first non-distributed array having one or more dimensions, wherein each dimension has a value; identifying a second non-distributed array residing on the second parallel computing unit, the second non-distributed array having one or more dimensions, wherein each dimension has a value, the value of at least one dimension of the second non-distributed array is greater than the value of the corresponding dimension of the first non-distributed array by more than one; forming a distributed array comprised of a single array, the distributed array formed by grouping the first non-distributed array and the second non-distributed array into the single array, the grouping performed over a distribution dimension, wherein: when one of the dimensions of the first non-distributed array has a different value than a corresponding dimension of the second non-distributed array, the distribution dimension is the dimension that has the different value, and when the dimensions of the first non-distributed array have values that are the same as values of corresponding dimensions of the second non-distributed array, the distribution dimension is any dimension.