Optimized matrix and vector operations in instruction limited algorithms that perform EOS calculations
First Claim
1. A method of optimizing matrix and vector operations in instruction limited algorithms that perform EOS calculations, comprising:
- dividing each matrix associated with an EOS stability equation or an EOS phase split equation into a number of tiles, wherein the tile size is heterogeneous or homogenous;
dividing each vector associated with the EOS stability equation or the EOS phase split equation into a number of strips;
storing the tiles and strips in main memory, cache, or registers, wherein the tiles or strips are stored sequentially or interleaved in main memory, cache, or registers; and
performing the matrix and vector operations associated with successive substitutions and Newton iterations in parallel using the tiles and strips.
0 Assignments
0 Petitions
Accused Products
Abstract
There is provided a system and method for optimizing matrix and vector calculations in instruction limited algorithms that perform EOS calculations. The method includes dividing each matrix associated with an EOS stability equation and an EOS phase split equation into a number of tiles, wherein the tile size is heterogeneous or homogenous. Each vector associated with the EOS stability equation and the EOS phase split equation may be divided into a number of strips. The tiles and strips may be stored in main memory, cache, or registers, and the matrix and vector operations associated with successive substitutions and Newton iterations may be performed in parallel using the tiles and strips.
298 Citations
17 Claims
-
1. A method of optimizing matrix and vector operations in instruction limited algorithms that perform EOS calculations, comprising:
-
dividing each matrix associated with an EOS stability equation or an EOS phase split equation into a number of tiles, wherein the tile size is heterogeneous or homogenous; dividing each vector associated with the EOS stability equation or the EOS phase split equation into a number of strips; storing the tiles and strips in main memory, cache, or registers, wherein the tiles or strips are stored sequentially or interleaved in main memory, cache, or registers; and performing the matrix and vector operations associated with successive substitutions and Newton iterations in parallel using the tiles and strips. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system that is adapted to optimize matrix and vector operations in instruction limited algorithms that perform EOS calculations, the computer system comprising:
-
a processor; and a tangible, machine-readable storage medium that stores machine-readable instructions for execution by the processor, the machine-readable instructions comprising; code that, when executed by the processor, is adapted to cause the processor to divide each matrix associated with an EOS stability equation and an EOS phase split equation into a number of tiles, wherein the tile size is heterogeneous or homogenous; code that, when executed by the processor, is adapted to cause the processor to divide each vector associated with the EOS stability equation and the EOS phase split equation into a number of strips; code that, when executed by the processor, is adapted to cause the processor to store the tiles and strips in main memory, cache, or registers, wherein the tiles or strips are stored sequentially or interleaved in the main memory, cache, or registers; and code that, when executed by the processor, is adapted to cause the processor to perform the matrix and vector operations associated with successive substitutions and Newton iterations in parallel using the tiles and strips. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory, computer readable medium comprising code configured to direct a processor to:
-
divide each matrix associated with an EOS stability equation and an EOS phase split equation into a number of tiles, wherein the tile size is heterogeneous or homogenous; divide each vector associated with the EOS stability equation and the EOS phase split equation into a number of strips; store the tiles and strips in main memory, cache, or registers, wherein the tiles or strips are stored sequentially or interleaved in main memory, cache, or registers; and perform the matrix and vector operations associated with successive substitutions and Newton iterations in parallel using the tiles and strips. - View Dependent Claims (14, 15, 16, 17)
-
Specification