Finite element analysis method using multiprocessor for matrix manipulations with special handling of diagonal elements
AssigneeGeneral Electric Company
InventorSteven W. Hammond
Life of this patent
Estimating the term…
Abstract
Loading and storing a matrix associated with equations defining a physical system into the memory of a multiprocessor is accomplished by scanning along one orthogonal axis of the matrix and loading non-zero elements into memory associated with a plurality of the processors to form a transpose vector, with diagonal elements of the matrix being stored in the memory of a selected one of the processors. Each stored matrix element is provided with an index which identifies the origin of the element along the other axis of the matrix.
Claims32
Apparatus for loading and storing a matrix defined by a series of one dimensional arrays arranged along orthogonal axes, comprising:
- a plurality of processing cells, said cells being intercoupled to pass data therebetween;
- a memory for each said processing cell;
- means for scanning each element of said matrix along one orthogonal axis thereof;
- means for loading non-zero elements of said matrix along said one orthogonal axis into the respective memories of a plurality of said cells, said means for loading including means for loading all of the non-zero diagonal elements of said matrix into the memory of a designated one of said cells;
- and
- means for generating an index, said index being stored in association with each such stored non-zero element for identifying the array along said other axis from which said non-zero element originated.
Apparatus for loading and storing a matrix on a parallel processor comprising a plurality of processing cells, each cell having a memory, comprising:
- means for storing elements of a matrix in the memories of a plurality of said cells, said means for storing including means for storing all non-zero diagonal elements of said matrix in the memory of one of said cells;
- and
- means for generating and storing in association with each stored element an index for identifying a one dimensional array of said matrix from which said stored element originates.
In a process for analyzing a physical system which can be defined by certain physical variables capable of being expressed in terms of a plurality of linear equations solvable by matrix manipulation methods, a machine implemented method for loading and storing a matrix of elements which relate said variables to each other onto a parallel processor which includes a plurality of processing cells, each cell having a memory, the matrix being comprised of a series of one dimensional arrays of said elements along orthogonal axes, the method comprising the steps of:
- scanning said arrays of said matrix along one orthogonal axis thereof;
- loading non-zero elements of said matrix along said one orthogonal axis into the respective memories of a plurality of said cells, all of said non-zero diagonal elements of said matrix being loaded into a designated one of said cells;
- and
- generating for storage in association with each such stored non-zero element an index for identifying the array along said other axis from which said non-zero element originated.
In a process for analyzing a physical system which can be defined by certain physical variables capable of being expressed in terms of a plurality of linear equations solvable by matrix manipulation methods, a machine implemented method for loading and storing a matrix of elements which relate said variables to each other onto a parallel processor which includes a plurality of processing cells, each cell having a memory, the matrix being comprised of a series of one dimensional arrays of said elements along orthogonal axes, the method comprising the steps of:
- storing elements of said matrix in the memories of a plurality of said cells, diagonal elements of said matrix being stored in a designated one of said cells;
- and
- generating for storage in association with each stored element an index for identifying the array along one axis of said matrix from which said stored element originates.
In a process for analyzing a physical system which can be defined by certain physical variables capable of being expressed in terms of a plurality of linear equations solvable by matrix manipulation methods, a machine implemented method for loading and storing a matrix of elements which relate said variables to each other onto a parallel processor which includes a plurality of processing cells, each cell having a memory, the matrix being comprised of a series of one dimensional arrays of said elements along orthogonal axes, the method comprising the steps of:
- transposing elements of each array along one axis of said matrix into a transpose vector, one transpose vector being transposed from each array along said one axis, each said transpose vector comprising values corresponding to said elements stored in a plurality of said cells, diagonal elements of said matrix being stored in a designated one of said cells;
- and
- generating an index for storage in association with each stored element of said vectors, said index being operative to identify the array along said second axis from which said stored element originates.
Dependencies are inferred from the claim text.