Hardware-accelerated nearest neighbor queries for arbitrary data primitives

US12118643B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12118643-B2
Application numberUS-202117560845-A
CountryUS
Kind codeB2
Filing dateDec 23, 2021
Priority dateDec 23, 2021
Publication dateOct 15, 2024
Grant dateOct 15, 2024

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.

Apparatuses, systems, and techniques to perform a K-nearest-neighbor query. In at least one embodiment, a set of bounding boxes corresponding to a set of primitives is generated that allows the query to be solved using light transport simulation acceleration features of a GPU.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving a request to identify, from a set of one or more primitives, a specified number of primitives based, at least in part, on performing a nearest neighbor query using a point of interest; generating a bounding box around each of the one or more primitives; and adjusting a number of the one or more primitives to be excluded from a result set of the request by adjusting a size of each of the one or more bounding boxes to change a number of the one or more bounding boxes that comprise the point of interest. 2. The method of claim 1 , wherein the one or more bounding boxes are animated by expanding a bounding box over a time parameter using a hardware-accelerated processing core of a graphical processing unit. 3. The method of claim 1 , wherein distance to a primitive is determined using an axis-aligned bounding box (“AABB”). 4. The method of claim 1 , wherein at least one primitive of the set of one or more primitives is represented by a line segment and a corresponding bounding box is a rectangle that encompasses one or more points equidistant from individual endpoints of the line segment. 5. The method of claim 1 , wherein at least one primitive of the set of one or more primitives is a represented by a polygon and a corresponding bounding box is a rectangle that encompasses points equidistant from individual vertexes of the polygon. 6. The method of claim 1 , further comprising determining the number of the one or more bounding boxes that comprise the point of interest is less than a specified number. 7. The method of claim 1 , wherein adjusting the number of the one or more primitives further comprises increasing the size of the one or more bounding boxes as a result of determining that a number of primitives within a distance of the point of interest is less than the specified number. 8. The method of claim 1 , wherein adjusting the number of the one or more primitives further comprises decreasing the size of the one or more bounding boxes as a result of determining that a number of the one or more bounding boxes that enclose the point of interest is greater than a threshold value, the threshold value being determined as a function of the specified number. 9. The method of claim 1 , further comprising determining the result by analyzing a set of primitives that does not include the one or more primitives. 10. The method of claim 1 , further comprising: determining a distance from the point of interest to a primitive of the set of one or more primitives; determining whether the point of interest is in the result based at least in part on the distance; and storing a value representing the distance in association with the primitive. 11. A processor comprising one or more processing units to: receive a request to identify, from a set of one or more primitives, a specified number of primitives as a result of performing one or more nearest neighbor queries using a point of interest; generate a bounding box around each of the one or more primitives; and adjust a number of the one or more primitives to be excluded from a result set of the request by adjusting a size of each of the one or more bounding boxes based, at least in part, on modifying a number of one or more bounding boxes that include the point of interest. 12. The processor of claim 11 , wherein the one or more bounding boxes are animated by expanding a bounding box over a time parameter using a ray tracing core of a graphical processing unit. 13. The processor of claim 11 , wherein distance to a primitive is determined using an axis-aligned bounding box (“AABB”). 14. The processor of claim 11 , wherein at least one primitive of the set of one or more primitives is represented by a line segment and a corresponding bounding box is a rectangle that encompasses one or more points equidistant from individual endpoints of the line segment. 15. The processor of claim 11 , wherein at least one primitive of the set of one or more primitives is a represented by a polygon and a corresponding bounding box is a rectangle that encompasses one or more points equidistant from individual vertexes of the polygon. 16. The processor of claim 11 , wherein the processor is further to increase the size of the one or more bounding boxes as a result of determining that a number of the one or more bounding boxes that enclose the point of interest is less than the specified number. 17. The processor of claim 11 , wherein the processor is further to increase the size of the one or more bounding boxes as a result of determining that a number of primitives within a distance of the point of interest is less than the specified number. 18. The processor of claim 11 , wherein the processor is further to decrease the size of the one or more bounding boxes as a result of determining that a number of the one or more bounding boxes that enclose the point of interest is greater than a threshold value, the threshold value being determined as a function of the specified number. 19. The processor of claim 11 , wherein the processor is further to determine the result by analyzing a set of primitives that does not include the one or more primitives. 20. The processor of claim 11 , wherein the processor is further to: determine a distance from the point of interest to a primitive; determine whether the point of interest is in the result based at least in part on the distance; and store a value representing the distance in association with the primitive. 21. The processor of claim 11 , wherein the one or more bounding boxes are animated by expanding a bounding box over a time parameter using a light transport simulation core of a graphical processing unit. 22. A non-transitory machine-readable medium having stored thereon a set of instructions, which if performed by one or more processors, cause the one or more processors to: receive a request to identify, from a set of one or more primitives, a specified number of primitives based, at least in part, on performing a set of nearest neighbor queries using a point of interest; generate a bounding box around each of the one or more primitives; and adjust a number of the one or more primitives to be excluded from a result set of the request by adjusting a size of each of the one or more bounding boxes to adjust a number of the one or more boxes that include the point of interest. 23. The non-transitory machine-readable medium of claim 22 , wherein the one or more bounding boxes are modified over a time parameter using a light transport simulation core of a graphical processing unit. 24. The non-transitory machine-readable medium of claim 22 , wherein distance to a primitive is determined using an axis-aligned bounding box (“AABB”). 25. The non-transitory machine-readable medium of claim 22 , wherein a primitive is represented by a line segment and a corresponding bounding box is a rectangle that encompasses points equidistant from individual endpoints of the line segment. 26. The non-transitory machine-readable medium of claim 22 , wherein a primitive is a represented by a polygon and a corresponding bounding box is a rectangle that encompasses points equidistant from individual vertexes of the polygon. 27. The non-transitory machine-readable medium of claim 22 , wherein performance of the set of instructions by the one or more processors, causes the one or mo

Assignees

Inventors

Classifications

  • Bounding box · CPC title

  • Geometric effects · CPC title

  • using a secondary processor, e.g. coprocessor (peripheral processor G06F13/12) · CPC title

  • considering hardware capabilities · CPC title

  • Clust · 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 US12118643B2 cover?
Apparatuses, systems, and techniques to perform a K-nearest-neighbor query. In at least one embodiment, a set of bounding boxes corresponding to a set of primitives is generated that allows the query to be solved using light transport simulation acceleration features of a GPU.
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06T1/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 15 2024 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).