Patents by Inventor Ali Rabbani

Ali Rabbani has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11939718
    Abstract: An apparatus for cleaning a fabric article includes an emitting header that emits fluid towards the fabric article and a suction header that suctions the fluid emitted by the emitting header. The suction header and the emitting header are parallel to each other and separated from each other by a space. The space is configured for positioning the fabric article in the space so that fluid emitted by the emitting header flows through the fabric article towards the suction header. A washing appliance for cleaning a fabric article includes a detergent compartment, a control system monitor, a pump, a water compartment, an emitting header that emits fluid towards the fabric article, a suction header that suctions the fluid emitted by the emitting header, a screen disposed between the emitting header and the suction header, and a servo motor in communication with at least one of the emitting header and the suction header.
    Type: Grant
    Filed: December 6, 2022
    Date of Patent: March 26, 2024
    Inventors: Ali Rabbani, Pedram Rabanne
  • Publication number: 20240054014
    Abstract: Techniques are disclosed relating to a shared control bus for communicating between primary control circuitry and multiple distributed graphics processor units. In some embodiments, a set of multiple graphics processor units including at least first and second graphics processors on different semiconductor substrates that are packaged in a multi-chip module, where the first and second graphics processors are coupled to access graphics data via respective memory interfaces. The shared workload distribution bus may include: one or more interfaces between respective graphics processors on the same semiconductor substrate and at least one cross-substrate interface between the different semiconductor substrates. Workload distribution circuitry may transmit, via the shared workload distribution bus, control data that specifies graphics work distribution to the multiple graphics processor units.
    Type: Application
    Filed: October 25, 2023
    Publication date: February 15, 2024
    Inventors: Max J. Batley, Jonathan M. Redshaw, Ji Rao, Ali Rabbani Rankouhi
  • Patent number: 11875448
    Abstract: Disclosed techniques relate to forming single-instruction multiple-data (SIMD) groups during ray intersection traversal. In particular, ray intersection circuitry may include dedicated circuitry configured to traverse an acceleration data structure, but may dynamically form a SIMD group to transform ray coordinates when traversing from one level of the data structure to another. This may allow shader processors to execute the SIMD group to perform the transformation. Disclosed techniques may facilitate instancing of graphics models within the acceleration data structure.
    Type: Grant
    Filed: November 24, 2020
    Date of Patent: January 16, 2024
    Assignee: Apple Inc.
    Inventors: Ali Rabbani Rankouhi, Christopher A. Burns, Justin A. Hensley, Jonathan M. Redshaw
  • Publication number: 20230419588
    Abstract: A ray tracing unit implemented in a graphics rendering system includes processing logic configured to perform ray tracing operations on rays, a dedicated ray memory coupled to the processing logic and configured to store ray data for rays to be processed by the processing logic, an interface to a memory system, and control logic configured to manage allocation of ray data to either the dedicated ray memory or the memory system. Core ray data for rays to be processed by the processing logic is stored in the dedicated ray memory, and at least some non-core ray data for the rays is stored in the memory system. This allows core ray data for many rays to be stored in the dedicated ray memory without the size of the dedicated ray memory becoming too wasteful when the ray tracing unit is not in use.
    Type: Application
    Filed: September 11, 2023
    Publication date: December 28, 2023
    Inventors: John W. Howson, Steven J. Clohset, Ali Rabbani
  • Patent number: 11847489
    Abstract: Techniques are disclosed relating to a shared control bus for communicating between primary control circuitry and multiple distributed graphics processor units. In some embodiments, a set of multiple processor units includes first and second graphics processors, where the first and second graphics processors are coupled to access graphics data via respective memory interfaces. A shared workload distribution bus is used to transmit control data that specifies graphics work distribution to the multiple graphics processing units. The shared workload distribution bus may be arranged in a chain topology, e.g., to connect the workload distribution circuitry to the first graphics processor and connect the first graphics processor to the second graphics processor such that the workload distribution circuitry communicates with the second graphics processor via the shared workload distribution bus connection to the first graphics processor.
    Type: Grant
    Filed: January 26, 2021
    Date of Patent: December 19, 2023
    Assignee: Apple Inc.
    Inventors: Max J. Batley, Jonathan M. Redshaw, Ji Rao, Ali Rabbani Rankouhi
  • Patent number: 11756256
    Abstract: A ray tracing unit implemented in a graphics rendering system includes processing logic configured to perform ray tracing operations on rays, a dedicated ray memory coupled to the processing logic and configured to store ray data for rays to be processed by the processing logic, an interface to a memory system, and control logic configured to manage allocation of ray data to either the dedicated ray memory or the memory system. Core ray data for rays to be processed by the processing logic is stored in the dedicated ray memory, and at least some non-core ray data for the rays is stored in the memory system. This allows core ray data for many rays to be stored in the dedicated ray memory without the size of the dedicated ray memory becoming too wasteful when the ray tracing unit is not in use.
    Type: Grant
    Filed: March 17, 2022
    Date of Patent: September 12, 2023
    Assignee: Imagination Technologies Limited
    Inventors: John W. Howson, Steven J. Clohset, Ali Rabbani
  • Patent number: 11676327
    Abstract: Techniques are disclosed relating to ray intersection in the context of motion blur. In some embodiments, a graphics processor includes time-oblivious ray intersect circuitry configured to receive coordinates for a ray and traverse a bounding volume hierarchy (BVH) data structure based on the coordinates to determine whether the ray intersects with one or more bounding regions of a graphics space. In some embodiments, in response to reaching a temporal branch element of the BVH data structure, the ray intersect circuitry initiates a shader program that determines a sub-tree of the BVH data structure for further traversal by the ray intersection circuitry, where the sub-tree corresponds to a portion of a motion-blur interval in which the ray falls. This may provide accurate ray tracing for motion blur while reducing area and power consumption of intersect circuitry, relative to time-aware implementations.
    Type: Grant
    Filed: March 18, 2021
    Date of Patent: June 13, 2023
    Assignee: Apple Inc.
    Inventors: Christopher A. Burns, Ali Rabbani Rankouhi, Justin A. Hensley, Richard W. Schreyer
  • Publication number: 20230095962
    Abstract: An apparatus for cleaning a fabric article includes an emitting header that emits fluid towards the fabric article and a suction header that suctions the fluid emitted by the emitting header. The suction header and the emitting header are parallel to each other and separated from each other by a space. The space is configured for positioning the fabric article in the space so that fluid emitted by the emitting header flows through the fabric article towards the suction header. A washing appliance for cleaning a fabric article includes a detergent compartment, a control system monitor, a pump, a water compartment, an emitting header that emits fluid towards the fabric article, a suction header that suctions the fluid emitted by the emitting header, a screen disposed between the emitting header and the suction header, and a servo motor in communication with at least one of the emitting header and the suction header.
    Type: Application
    Filed: December 6, 2022
    Publication date: March 30, 2023
    Inventors: Ali Rabbani, Pedram Rabanne
  • Publication number: 20230048951
    Abstract: Disclosed embodiments relate to controlling sets of graphics work (e.g., kicks) assigned to graphics processor circuitry. In some embodiments, tracking slot circuitry implements entries for multiple tracking slots. Slot manager circuitry may store, using an entry of the tracking slot circuitry, software-specified information for a set of graphics work, where the information includes: type of work, dependencies on other sets of graphics work, and location of data for the set of graphics work. The slot manager circuitry may prefetch, from the location and prior to allocating shader core resources for the set of graphics work, configuration register data for the set of graphics work. Control circuitry may program configuration registers for the set of graphics work using the prefetched data and initiate processing of the set of graphics work by the graphics processor circuitry according to the dependencies. Disclosed techniques may reduce kick-to-kick transition time, in some embodiments.
    Type: Application
    Filed: August 11, 2021
    Publication date: February 16, 2023
    Inventors: Steven Fishwick, Fergus W. MacGarry, Jonathan M. Redshaw, David A. Gotwalt, Ali Rabbani Rankouhi, Benjamin Bowman
  • Publication number: 20230050061
    Abstract: Disclosed techniques relate to work distribution in graphics processors. In some embodiments, an apparatus includes circuitry that implements a plurality of logical slots and a set of graphics processor sub-units that each implement multiple distributed hardware slots. The circuitry may determine different distribution rules for first and second sets of graphics work and map logical slots to distributed hardware slots based on the distribution rules. In various embodiments, disclosed techniques may advantageously distribute work efficiently across distributed shader processors for graphics kicks of various sizes.
    Type: Application
    Filed: August 11, 2021
    Publication date: February 16, 2023
    Inventors: Andrew M. Havlir, Steven Fishwick, David A. Gotwalt, Benjamin Bowman, Ralph C. Taylor, Melissa L. Velez, Mladen Wilder, Ali Rabbani Rankouhi, Fergus W. MacGarry
  • Patent number: 11519127
    Abstract: An apparatus for cleaning a fabric article includes an emitting header that emits fluid towards the fabric article and a suction header that suctions the fluid emitted by the emitting header. The suction header and the emitting header are parallel to each other and separated from each other by a space. The space is configured for positioning the fabric article in the space so that fluid emitted by the emitting header flows through the fabric article towards the suction header. A washing appliance for cleaning a fabric article includes a detergent compartment, a control system monitor, a pump, a water compartment, an emitting header that emits fluid towards the fabric article, a suction header that suctions the fluid emitted by the emitting header, a screen disposed between the emitting header and the suction header, and a servo motor in communication with at least one of the emitting header and the suction header.
    Type: Grant
    Filed: October 19, 2021
    Date of Patent: December 6, 2022
    Inventors: Ali Rabbani, Pedram Rabanne
  • Patent number: 11521343
    Abstract: Disclosed techniques relate to memory space management for graphics processing. In some embodiments, first and second graphics cores are configured to execute instructions for multiple threadgroups. In some embodiments, the threads groups include a first threadgroup with multiple single-instruction multiple-data (SIMD) groups configured to execute a first shader program and a second threadgroup with multiple SIMD groups configured to execute a second, different shader program. Control circuitry may be configured to provide access to data stored in memory circuitry according to a shader memory space. The shader memory space may be accessible to threadgroups executed by the first graphics shader core, including the first and second threadgroups, but is not accessible to threadgroups executed by the second graphics shader core. Disclosed techniques may reduce latency, increase bandwidth available to the shader, reduce coherency cost, or any combination thereof.
    Type: Grant
    Filed: November 24, 2020
    Date of Patent: December 6, 2022
    Assignee: Apple Inc.
    Inventors: Terence M. Potter, Yoong Chert Foo, Ali Rabbani Rankouhi, Justin A. Hensley, Jonathan M. Redshaw
  • Publication number: 20220375155
    Abstract: Disclosed techniques relate to acceleration data structure for ray intersection testing. In some embodiments, storage circuitry stores node data for a spatially organized acceleration data structure, including to store the following node information for a given node: origin coordinates for the node and, for a given child node of multiple child nodes, child information that includes: quantized bounding region information for a bounding region corresponding to the child node, where the quantized bounding region information encodes bounding region coordinates as offsets relative to the origin coordinates. Traversal circuitry may traverse multiple nodes of the data structure and determine whether a ray intersects a bounding region indicated by given a node of the data structure based on the node information. Disclosed techniques may provide substantial improvements to performance, data size, and power consumption.
    Type: Application
    Filed: August 5, 2022
    Publication date: November 24, 2022
    Inventors: Ali Rabbani Rankouhi, Christopher A. Burns, Justin A. Hensley, Luca Iuliano, Jonathan M. Redshaw
  • Publication number: 20220301254
    Abstract: Techniques are disclosed relating to ray intersection in the context of motion blur. In some embodiments, a graphics processor includes time-oblivious ray intersect circuitry configured to receive coordinates for a ray and traverse a bounding volume hierarchy (BVH) data structure based on the coordinates to determine whether the ray intersects with one or more bounding regions of a graphics space. In some embodiments, in response to reaching a temporal branch element of the BVH data structure, the ray intersect circuitry initiates a shader program that determines a sub-tree of the BVH data structure for further traversal by the ray intersection circuitry, where the sub-tree corresponds to a portion of a motion-blur interval in which the ray falls. This may provide accurate ray tracing for motion blur while reducing area and power consumption of intersect circuitry, relative to time-aware implementations.
    Type: Application
    Filed: March 18, 2021
    Publication date: September 22, 2022
    Inventors: Christopher A. Burns, Ali Rabbani Rankouhi, Justin A. Hensley, Richard W. Schreyer
  • Patent number: 11436784
    Abstract: Disclosed techniques relate to primitive testing associated with ray intersection processing for ray tracing. In some embodiments, shader circuitry executes a first SIMD group that includes a ray intersect instruction for a set of rays. Ray intersect circuitry traverses, in response to the ray intersect instruction, multiple nodes in a spatially organized acceleration data structure (ADS). In response to reaching a node of the ADS that indicates one or more primitives, the apparatus forms a second SIMD group that executes one or more instructions to determine whether a set of rays that have reached the node intersect the one or more primitives. The shader circuitry may execute the first SIMD group to shade one or more primitives that are indicated as intersected based on results of execution of the second SIMD group. Thus, disclosed techniques may use both dedicated ray intersect circuitry and dynamically formed SIMD groups executed by shader processors to detect ray intersection.
    Type: Grant
    Filed: November 24, 2020
    Date of Patent: September 6, 2022
    Assignee: Apple Inc.
    Inventors: Ali Rabbani Rankouhi, Christopher A. Burns, Justin A. Hensley, Luca Iuliano, Jonathan M. Redshaw
  • Publication number: 20220237028
    Abstract: Techniques are disclosed relating to a shared control bus for communicating between primary control circuitry and multiple distributed graphics processor units. In some embodiments, a set of multiple processor units includes first and second graphics processors, where the first and second graphics processors are coupled to access graphics data via respective memory interfaces. A shared workload distribution bus is used to transmit control data that specifies graphics work distribution to the multiple graphics processing units. The shared workload distribution bus may be arranged in a chain topology, e.g., to connect the workload distribution circuitry to the first graphics processor and connect the first graphics processor to the second graphics processor such that the workload distribution circuitry communicates with the second graphics processor via the shared workload distribution bus connection to the first graphics processor.
    Type: Application
    Filed: January 26, 2021
    Publication date: July 28, 2022
    Inventors: Max J. Batley, Jonathan M. Redshaw, Ji Rao, Ali Rabbani Rankouhi
  • Publication number: 20220207814
    Abstract: A ray tracing unit implemented in a graphics rendering system includes processing logic configured to perform ray tracing operations on rays, a dedicated ray memory coupled to the processing logic and configured to store ray data for rays to be processed by the processing logic, an interface to a memory system, and control logic configured to manage allocation of ray data to either the dedicated ray memory or the memory system. Core ray data for rays to be processed by the processing logic is stored in the dedicated ray memory, and at least some non-core ray data for the rays is stored in the memory system. This allows core ray data for many rays to be stored in the dedicated ray memory without the size of the dedicated ray memory becoming too wasteful when the ray tracing unit is not in use.
    Type: Application
    Filed: March 17, 2022
    Publication date: June 30, 2022
    Inventors: John W. Howson, Steven J. Clohset, Ali Rabbani
  • Patent number: 11373360
    Abstract: Disclosed techniques relate to grouping rays during traversal of a spatially-organized acceleration data structure (e.g., a bounding volume hierarchy) for ray intersection processing. The grouping may provide temporal locality for accesses to bounding region data. In some embodiments, ray intersect circuitry is configured to group rays based on the node of the data structure that they target next. The ray intersect circuitry may select one or more groups of rays for issuance each clock cycle, e.g., to bounding region test circuitry.
    Type: Grant
    Filed: November 24, 2020
    Date of Patent: June 28, 2022
    Assignee: Apple Inc.
    Inventors: Ali Rabbani Rankouhi, Christopher A. Burns, Justin A. Hensley, Luca Iuliano, Jonathan M. Redshaw
  • Patent number: 11367242
    Abstract: Disclosed techniques relate to ray intersection processing for ray tracing. In some embodiments, ray intersection circuitry traverses a spatially organized acceleration data structure and includes bounding region circuitry configured to test, in parallel, whether a ray intersects multiple different bounding regions indicated by a node of the data structure. Shader circuitry may execute a ray intersect instruction to invoke traversal by the ray intersect circuitry and the traversal may generate intersection results. The shader circuitry may shade intersected primitives based on the intersection results. Disclosed techniques that share processing between intersection circuitry and shader processors may improve performance, reduce power consumption, or both, relative to traditional techniques.
    Type: Grant
    Filed: November 24, 2020
    Date of Patent: June 21, 2022
    Assignee: Apple Inc.
    Inventors: Ali Rabbani Rankouhi, Christopher A. Burns, Justin A. Hensley, Luca Iuliano, Jonathan M. Redshaw
  • Patent number: 11335061
    Abstract: Disclosed techniques relate to an acceleration data structure for ray intersection with a many-to-many mapping between bounding regions and primitives. In some embodiments, one or more graphics processors access data for multiple graphics primitives in a graphics scene and generate a spatially organized data structure. Some nodes of the data structure indicate graphics primitives and some nodes indicate coordinates of bounding regions in the graphics scene. In some embodiments, the spatially organized data structure includes a node with a bounding region for which multiple primitives are indicated as children and also includes a primitive for which multiple bounding regions are indicated as parents. Disclosed techniques may generate bounding regions that closely fit primitives, which may reduce primitive testing for ray tracing. This in turn may increase performance or reduce power consumption relative to traditional techniques.
    Type: Grant
    Filed: November 24, 2020
    Date of Patent: May 17, 2022
    Assignee: Apple Inc.
    Inventors: Ali Rabbani Rankouhi, Christopher A. Burns, Justin A. Hensley