System and method for determining a cache optimized ordering of cells in an unstructured graph
First Claim
1. A system for determining a cache optimized ordering of cells in an unstructured graph, comprising:
- ad bounding module identifying cells laying on a specified portion of a boundary of a logically-defined grid for a stored unstructured graph;
a reordering module adding each identified cell in order of traversal along the specified portion of the boundary into an element of a provisional level set array block, and inserting one or more further cells between each sequential pair of cells, which are not contiguously-located in the logically-defined grid, into an element of the provisional level set array block, each further cell being located contiguous to at least one of the sequential pair of cells in the logically-defined grid; and
an iteration module iteratively identifying, adding and inserting each cell remaining in the logically-defined grid.
2 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system and method for determining a cache optimized ordering of cells in an unstructured graph. Cells bounding a region defined along a portion of a stored logically-defined grid are identified and each cell is added into an element of a level set array block in order of traversal through the region along the boundary. The level set array block is reordered for each additional cell in the data object that is contiguous to at least one such cell added previously to the level set array block. Each such additional cell is added into an element of the level set array block. Each cell remaining in the data object independent of any element in the level set array block is iteratively added.
15 Citations
22 Claims
-
1. A system for determining a cache optimized ordering of cells in an unstructured graph, comprising:
-
ad bounding module identifying cells laying on a specified portion of a boundary of a logically-defined grid for a stored unstructured graph;
a reordering module adding each identified cell in order of traversal along the specified portion of the boundary into an element of a provisional level set array block, and inserting one or more further cells between each sequential pair of cells, which are not contiguously-located in the logically-defined grid, into an element of the provisional level set array block, each further cell being located contiguous to at least one of the sequential pair of cells in the logically-defined grid; and
an iteration module iteratively identifying, adding and inserting each cell remaining in the logically-defined grid. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for determining a cache optimized ordering of cells in an unstructured graph, comprising:
-
identifying cells laying on a specified portion of a boundary of a logically-defined grid for a stored unstructured graph;
adding each identified cell in order of traversal along the specified portion of the boundary into an element of a provisional level set array block;
inserting one or more further cells between each sequential pair of cells, which are not contiguously-located in the logically-defined grid, into an element of the provisional level set array block, each further cell being located contiguous to at least one of the sequential pair of cells in the logically-defined grid; and
iteratively identifying, adding and inserting each cell remaining in the logically-defined grid. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage medium holding instructions that when executed by a computer cause the computer to perform a method for determining a cache optimized ordering of cells in an unstructured graph, comprising:
-
identifying cells laying on a specified portion of a boundary of a logically-defined grid for a stored unstructured graph;
adding each identified cell in order of traversal along the specified portion of the boundary into an element of a provisional level set array block;
inserting one or more further cells between each sequential pair of cells, which are not contiguously-located in the logically-defined grid, into an element of the provisional level set array block, each further cell being located contiguous to at least one of the sequential pair of cells in the logically-defined grid; and
iteratively identifying, adding and inserting each cell remaining in the logically-defined grid. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. An apparatus for determining a cache optimized ordering of cells in an unstructured graph, comprising:
-
means for identifying cells laying on a specified portion of a boundary of a logically-defined grid for a stored unstructured graph;
means for adding each identified cell in order of traversal along the specified portion of the boundary into an element of a provisional level set array block;
means for inserting one or more further cells between each sequential pair of cells, which are not contiguously-located in the logically-defined grid, into an element of the provisional level set array block, each further cell being located contiguous to at least one of the sequential pair of cells in the logically-defined grid; and
means for iteratively identifying, adding and inserting each cell remaining in the logically-defined grid.
-
Specification