Fast sparse list walker
First Claim
1. A computer implemented method for identifying active bits in a vector, the computer implemented method comprising:
- executing on an information processing system the following;
receiving a pointer associated with a vector of bits, wherein the pointer is associated with a current bit within the vector of bits;
grouping the vector of bits into groups of a mathematical power of two, which is any non-negative integer powers of two;
determining one or more current groups which are the groups of the mathematical power of two comprising the current bit;
analyzing, in response to receiving the pointer, the one or more current groups of the power of two;
identifying, in response to the analyzing, a largest group of the power of two in the one or more current groups comprising all empty bits; and
setting the pointer to point to a bit following a last bit in the identified largest group of the power of two comprising all empty bits.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are a method, information processing system, and computer readable medium for identifying active bits in a vector. The method comprises receiving a pointer associated with a vector of bits. The pointer is associated with a current bit within the vector of bits. The vector of bits if grouped into groups of a mathematical power of two, which is any non-negative integer powers of two. One or more current groups are determined which are the groups of the mathematical power of two comprising the current bit. The one or more current groups of the power of two are analyzed. A largest group of the power of two is identified in the one or more current groups comprising all empty bits. The pointer is set to point to a bit following a last bit in the identified largest group of the power of two comprising all empty bits.
20 Citations
20 Claims
-
1. A computer implemented method for identifying active bits in a vector, the computer implemented method comprising:
-
executing on an information processing system the following; receiving a pointer associated with a vector of bits, wherein the pointer is associated with a current bit within the vector of bits; grouping the vector of bits into groups of a mathematical power of two, which is any non-negative integer powers of two; determining one or more current groups which are the groups of the mathematical power of two comprising the current bit; analyzing, in response to receiving the pointer, the one or more current groups of the power of two; identifying, in response to the analyzing, a largest group of the power of two in the one or more current groups comprising all empty bits; and setting the pointer to point to a bit following a last bit in the identified largest group of the power of two comprising all empty bits. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer readable medium for identifying active bits in a vector, the computer readable medium comprising instructions for:
-
receiving a pointer associated with a vector of bits, wherein the pointer is associated with a current bit within the vector of bits; grouping the vector of bits into groups of a mathematical power of two, which is any non-negative integer powers of two; determining one or more current groups which are the groups of the mathematical power of two comprising the current bit; analyzing, in response to receiving the pointer, the one or more current groups of the power of two; identifying, in response to the analyzing, a largest group of the power of two in the one or more current groups comprising all empty bits; and setting the pointer to point to a bit following a last bit in the identified largest group of the power of two comprising all empty bits. - View Dependent Claims (12, 13, 14)
-
-
15. An information processing system for identifying active bits in a vector, the information processing system comprising:
-
a memory; a processor communicatively coupled to the memory; and a circuit communicatively coupled to the memory and the processor, wherein the circuit is adapted to; receive a pointer associated with a vector of bits, wherein the pointer is associated with a current bit within the vector of bits; group the vector of bits into groups of a mathematical power of two, which is any non-negative integer powers of two; determine one or more current groups which are the groups of the mathematical power of two comprising the current bit; analyze, in response to receiving the pointer, the one or more current groups of the power of two; identify, in response to the analyzing, a largest group of the power of two in the one or more current groups comprising all empty bits; and setting the pointer to point to a bit following a last bit in the identified largest group of the power of two comprising all empty bits. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification