Vector cross-compare count and sequence instructions

US10564964B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10564964-B2
Application numberUS-201615244570-A
CountryUS
Kind codeB2
Filing dateAug 23, 2016
Priority dateAug 23, 2016
Publication dateFeb 18, 2020
Grant dateFeb 18, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods are provided for executing an instruction. The method may include loading a first vector into a first location, the first vector including a plurality of first data elements and loading a second vector into a second location, the second vector including a plurality of second data elements. The method may further include comparing the plurality of first data elements of the first vector to the plurality of data elements of the second vector and performing one or more operations on the plurality of first and second data elements based on at least one vector cross-compare instruction. The one or more operations include counting a number of data elements of the plurality of first and second data elements that satisfy at least one condition, counting a number of times specified values occur in the plurality of first and second data elements, and generating sequence counts for duplicated values.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for executing a Single Instruction, Multiple Data (SIMD) instruction on a processor, the method comprising: loading a first vector into a first location, the first vector including a plurality of first data elements; loading a second vector into a second location, the second vector including a plurality of second data elements; comparing the plurality of first data elements of the first vector to the plurality of second data elements of the second vector; and performing one or more operations on the plurality of first and second data elements by applying a plurality of different vector cross-compare instructions processed by sequentially partitioning the plurality of different vector cross-compare instructions into comparison, selection, and reduction steps via a common partitioning implementation structure where all vector comparisons are completed before performing all selections, and all selections are completed before performing all reductions. 2. The method of claim 1 , further comprising counting a number of data elements of the plurality of first and second data elements that satisfy at least one condition. 3. The method of claim 1 , further comprising counting a number of times specified values occur in the plurality of first and second data elements. 4. The method of claim 1 , further comprising generating sequence counts for duplicated values identified in the plurality of first and second data elements. 5. The method of claim 1 , wherein one of the vector cross-compare instructions is a vector cross-compare and count instruction. 6. The method of claim 1 , wherein one of the vector cross-compare instructions is a vector cross-compare and sequence instruction. 7. The method of claim 1 , wherein one of the vector cross-compare instructions is a vector cross-compare equal instruction. 8. The method of claim 1 , further comprising determining whether each fullword of the second vector is equal to at least one fullword of the first vector. 9. The method of claim 1 , further comprising counting a number of fullwords in the first vector equal to each fullword in the second vector. 10. The method of claim 1 , further comprising counting a rank of a word for each fullword in the second vector. 11. A computer system for executing a Single Instruction, Multiple Data (SIMD) machine instruction in a central processing unit, the computer system comprising: a memory; and a processor in communications with the memory, wherein the computer system is configured to perform the steps of: loading a first vector into a first location, the first vector including a plurality of first data elements; loading a second vector into a second location, the second vector including a plurality of second data elements; comparing the plurality of first data elements of the first vector to the plurality of second data elements of the second vector; and performing one or more operations on the plurality of first and second data elements by applying a plurality of different vector cross-compare instructions processed by sequentially partitioning the plurality of different vector cross-compare instructions into comparison, selection, and reduction steps via a common partitioning implementation structure where all vector comparisons are completed before performing all selections, and all selections are completed before performing all reductions. 12. The computer system of claim 11 , wherein the one or more operations include counting a number of data elements of the plurality of first and second data elements that satisfy at least one condition. 13. The computer system of claim 11 , wherein the one or more operations include counting a number of times specified values occur in the plurality of first and second data elements. 14. The computer system of claim 11 , wherein the one or more operations include generating sequence counts for duplicated values identified in the plurality of first and second data elements. 15. The computer system of claim 11 , wherein one of the vector cross-compare instructions is a vector cross-compare and count instruction. 16. The computer system of claim 11 , wherein one of the vector cross-compare instructions is a vector cross-compare and sequence instruction. 17. The computer system of claim 11 , wherein one of the vector cross-compare instructions is a vector cross-compare equal instruction. 18. A non-transitory computer readable storage medium comprising a computer readable program for executing a Single Instruction, Multiple Data (SIMD) instruction on a processor, wherein the computer readable program when executed on a computer causes the computer to perform the steps of: loading a first vector into a first location, the first vector including a plurality of first data elements; loading a second vector into a second location, the second vector including a plurality of second data elements; comparing the plurality of first data elements of the first vector to the plurality of data elements of the second vector; and performing one or more operations on the plurality of first and second data elements by applying a plurality of different vector cross-compare instructions processed by sequentially partitioning the plurality of different vector cross-compare instructions into comparison, selection, and reduction steps via a common partitioning implementation structure where all vector comparisons are completed before performing all selections, and all selections are completed before performing all reductions. 19. The non-transitory computer readable storage medium of claim 18 , wherein the one or more operations include: counting a number of data elements of the plurality of first and second data elements that satisfy at least one condition; counting a number of times specified values occur in the plurality of first and second data elements; and generating sequence counts for duplicated values identified in the plurality of first and second data elements. 20. The non-transitory computer readable storage medium of claim 19 , wherein the vector cross-compare instructions are selected from the group consisting of a vector cross-compare and count instruction, a vector cross-compare and sequence instruction, and a vector cross-compare equal instruction.

Assignees

Inventors

Classifications

  • Compare instructions, e.g. Greater-Than, Equal-To, MINMAX · CPC title

  • Instructions to perform operations on packed data, e.g. vector, tile or matrix operations · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10564964B2 cover?
Systems and methods are provided for executing an instruction. The method may include loading a first vector into a first location, the first vector including a plurality of first data elements and loading a second vector into a second location, the second vector including a plurality of second data elements. The method may further include comparing the plurality of first data elements of the f…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/30021. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 18 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).