IP Library Granted Patent US 12,499,503
Granted Patent B2
US 12,499,503 · App. 17/827,444 · Granted Dec 16, 2025

Multi-render partitioning

Inventors: Hema Chand Nalluri (Bengaluru, IN); Jeffery S. Boles (Folsom, CA); David Cowperthwaite (Portland, OR); Aditya Navale (Folsom, CA); Prasoonkumar Surti (Folsom, CA); Arthur Hunter (Cameron Park, CA); Vasanth Ranganathan (El Dorado Hills, CA); Joydeep Ray (Folsom, CA); David Puffer (Tempe, AZ); Ankur Shah (Folsom, CA); Vidhya Krishnan (Folsom, CA); Kritika Bala (Folsom, CA); Aravindh Anantaraman (Folsom, CA); Michael Apodaca (El Dorado Hills, CA); Kenneth Daxer (Sunnyvale, CA)
Assignee: Intel Corporation
G06T1/20G06F9/4881G06F9/505G06F9/5061G06T1/60G06T15/005G06T2200/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,499,503
App. No.
17/827,444
Granted
Dec 16, 2025
Kind
B2
Abstract

Described herein is a partitionable graphics processor having multiple render front ends. The partitions of the graphics processor maintain render functionality when partitioned and enable fault isolation and independent multi-client rendering.

Claims (35)

1 . A graphics processor comprising:

a hardware scheduler; and

a plurality of graphics processing clusters coupled with the hardware scheduler, wherein the plurality of graphics processing clusters respectively include a plurality of graphics multiprocessors coupled via an interconnect configured to exchange data within a graphics processing cluster between the plurality of graphics multiprocessors and the plurality of graphics processing clusters is configurable to be partitioned into a plurality of isolated render partitions, each isolated render partition having fault isolation and independent rendering capability, a graphics processing cluster is configurable into multiple render slices, and the plurality of isolated render partitions respectively include at least one render slice.

2 . The graphics processor as in claim 1 , wherein the hardware scheduler is configured to schedule a plurality of rendering workloads to the plurality of isolated render partitions for concurrent execution.

3 . The graphics processor as in claim 1 , wherein the at least one render slice includes a composition of fixed function and programmable circuitry from multiple hardware regions of the graphics processor.

4 . The graphics processor as in claim 1 , wherein a render slice of the multiple render slices includes a partition of a graphics processing cluster including a group of graphics multiprocessors of the graphics processing cluster.

5 . The graphics processor as in claim 4 , wherein the render slice includes a geometry pipeline, a raster pipeline, and an interface to an interconnect configurable to couple the geometry pipeline and the raster pipeline of a first render slice with the geometry pipeline and the raster pipeline of a second render slice.

6 . The graphics processor as in claim 5 , wherein at least one of the plurality of isolated render partitions includes the first render slice and the second render slice and geometry pipelines and raster pipelines of the first render slice and the second render slice are configurable to perform cooperative rendering via the interconnect.

7 . The graphics processor as in claim 6 , wherein the geometry pipeline of the first render slice is configurable to generate polygon attribute data that is accessible to the raster pipeline of the second render slice via the interconnect.

8 . The graphics processor as in claim 7 , wherein interconnect is a programmable packet switched interconnect configurable to route raster and position data between render slices within an isolated render partition and disable communication between the geometry pipelines within a first isolated render partition and the raster pipelines within a second isolated render partition.

9 . The graphics processor as in claim 1 , wherein a first isolated render partition is configurable to output to a first display and a second isolated render partition is configurable to output to a second display.

10 . The graphics processor as in claim 9 , wherein the first isolated render partition and the second isolated render partition have independent voltage and frequency scaling and the first isolated render partition is configurable to operate at a different voltage and frequency than the second isolated render partition.

11 . A data processing system comprising:

a memory device including instructions; and

a graphics processor configured to execute the instructions, wherein the graphics processor comprises a plurality of graphics processing clusters that respectively include a plurality of graphics multiprocessors coupled via an interconnect configured to exchange of data within a graphics processing cluster between the plurality of graphics multiprocessors, the plurality of graphics processing clusters is configurable to be partitioned into a plurality of isolated render partitions, a graphics processing cluster is configurable into multiple render slices, the plurality of isolated render partitions respectively include at least one render slice, and each isolated render partition has fault isolation, independent rendering capability, and independent voltage and frequency scaling that enables a first isolated render partition to operate at a different voltage and frequency than a second isolated render partition.

12 . The data processing system as in claim 11 , the graphics processor further comprising a hardware scheduler that is configured to schedule a plurality of rendering workloads to the plurality of isolated render partitions for concurrent execution.

13 . The data processing system as in claim 11 , wherein the plurality of isolated render partitions each include one or more render slices, each of the one or more render slices includes a partition of a graphics processing cluster, and the partition of the graphics processing cluster includes a group of graphics multiprocessors.

14 . The data processing system as in claim 13 , wherein each of the one or more render slices includes a geometry pipeline, a raster pipeline, and an interface to an interconnect configurable to couple the geometry pipeline and the raster pipeline of a first render slice with the geometry pipeline and the raster pipeline of a second render slice, wherein geometry pipelines and raster pipelines of the first render slice and the second render slice are configurable to perform cooperative rendering via the interconnect and the geometry pipeline of the first render slice is configurable to generate polygon attribute data that is accessible to the raster pipeline of the second render slice via the interconnect.

15 . The data processing system as in claim 14 , wherein the interconnect is a programmable packet switched interconnect configurable to route raster and position data between render slices within an isolated render partition and disable communication between the geometry pipelines within a first isolated render partition and the raster pipelines within a second isolated render partition.

16 . A method comprising:

initializing partition management data used to enable a partitioned render engine of a partitionable graphics processor of a multi-client workstation device;

configuring, via the partition management data, render slice and render front end assignments for partitions of the partitioned render engine, wherein a render slice includes a partition of a graphics processing cluster of the partitionable graphics processor, the partition of the graphics processing cluster including a group of graphics multiprocessors;

configuring geometry distribution bus isolation and topology according to a render slice configuration for the partitions to enable communication isolation and facilitate fault isolation between partitions associated with different clients;

configuring crossbar isolation and topology according to the render slice configuration for the partitions;

performing multiple rendering operations in parallel via the partitions of the partitioned render engine.

17 . The method as in claim 16 , further comprising:

performing a first render operation for a first client of the multi-client workstation device via a first render partition;

concurrently performing a second render operation for a second client of the multi-client workstation device via a second render partition;

presenting output generated by the first render partition to a first display via a first display connector of the multi-client workstation; and

presenting output generated by the second render partition to a second display via a second display connector of the multi-client workstation.

18 . The method as in claim 16 , wherein configuring, via the partition management data, the render slice and render front end assignments for partitions of the partitioned render engine includes:

enabling a render front-end for each configured partition; and

associating, via the partition management data, the render front-end for each configured partition with a render slice assigned to the partition.

19 . The method as in claim 16 , further comprising enabling independent reset and power management per partition of the partitioned render engine.

20 . The method as in claim 19 , further comprising configuring a power management state of a first partition of the partitioned render engine while maintaining the power management state of a second partition of the partitioned render engine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2023
From: NALLURI, HEMA CHAND; BOLES, JEFFERY S.; COWPERTHWAITE, DAVID; NAVALE, ADITYA; SURTI, PRASOONKUMAR; HUNTER, ARTHUR; RANGANATHAN, VASANTH; RAY, JOYDEEP; PUFFER, DAVID; SHAH, ANKUR; KRISHNAN, VIDHYA; BALA, KRITIKA; ANANTARAMAN, ARAVINDH; APODACA, MICHAEL; DAXER, KENNETH
To: INTEL CORPORATION
Reel/Frame 063214/0201 →
Continuity (4)
Provisional Application 63321665 · Mar 19, 2022
Provisional Application 63321594 · Mar 18, 2022
Provisional Application 63321580 · Mar 18, 2022
Related Publication 20230298125A1 · Sep 21, 2023
References Cited (56)
US 5764999A · Wilcox · 1998 [cited by applicant]
US 7583268B2 · Huang · 2009 [cited by applicant]
US 7701461B2 · Fouladi · 2010 [cited by applicant]
US 9158569B2 · Mitra et al. · 2015 [cited by applicant]
US 10176550B1 · Baggerman · 2019 [cited by applicant]
US 10754649B2 · Bainville et al. · 2020 [cited by applicant]
US 10891773B2 · Ray et al. · 2021 [cited by applicant]
US 11599490B1 · Machulsky · 2023 [cited by applicant]
US 20030160818A1 · Tschiegg et al. · 2003 [cited by applicant]
US 20090055157A1 · Soffer · 2009 [cited by applicant]
US 20100066762A1 · Yeh et al. · 2010 [cited by applicant]
US 20120081355A1 · Post et al. · 2012 [cited by applicant]
US 20130080567A1 · Pope · 2013 [cited by applicant]
US 20140132611A1 · Chen · 2014 [cited by examiner]
US 20150294494A1 · Stone · 2015 [cited by applicant]
US 20160328823A1 · Rao et al. · 2016 [cited by applicant]
US 20170329729A1 · Chew · 2017 [cited by applicant]
US 20180293692A1 · Koker · 2018 [cited by examiner]
US 20180307533A1 · Tian et al. · 2018 [cited by applicant]
US 20180308198A1 · Appu et al. · 2018 [cited by applicant]
US 20180341503A1 · Nair · 2018 [cited by applicant]
US 20190270005A1 · Gary · 2019 [cited by applicant]
US 20190332425A1 · Narayana et al. · 2019 [cited by applicant]
US 20200201758A1 · Asaro et al. · 2020 [cited by applicant]
US 20200210359A1 · Cornett et al. · 2020 [cited by applicant]
US 20200219223A1 · Vembu · 2020 [cited by examiner]
US 20200264910A1 · Kraemer et al. · 2020 [cited by applicant]
US 20200264994A1 · Raisch et al. · 2020 [cited by applicant]
US 20200278938A1 · Vembu · 2020 [cited by examiner]
US 20200379920A1 · Banerjee et al. · 2020 [cited by applicant]
US 20200409733A1 · Sankaran · 2020 [cited by examiner]
US 20200410628A1 · Shah · 2020 [cited by examiner]
US 20210073125A1 · Duluk, Jr. · 2021 [cited by examiner]
US 20210165745A1 · Karve et al. · 2021 [cited by applicant]
US 20210263755A1 · Tian et al. · 2021 [cited by applicant]
US 20210272347A1 · Mccrary · 2021 [cited by examiner]
US 20220058047A1 · Epstein · 2022 [cited by applicant]
US 20220206833A1 · Bhandari et al. · 2022 [cited by applicant]
US 20220276966A1 · Shcherbina · 2022 [cited by examiner]
US 20220405128A1 · Aristarkhov · 2022 [cited by applicant]
US 20230288471A1 · Duluk · 2023 [cited by examiner]
Notice of Allowance for U.S. Appl. No. 17/832,305, mailed Apr. 26, 2023, 8 pages. [cited by applicant]
Notice of Publication for EP23155990.7, mailed Aug. 23, 2023, 2 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/459,311, mailed Sep. 17, 2024, 8 pages. [cited by applicant]
Intel® Architecture Instruction Set Extensions and Future Features, Programming Reference, May 2021, Ref. # 319433-044, 214 pages. [cited by applicant]
Intel® Scalable I/O Virtualization, Technical Specification, Ref. # 337679-002, Rev. 1.1, Sep. 2020, 29 pages. [cited by applicant]
Intel®, White Paper: “PCI-SIG Single Root I/O Virtualization (SR-IOV) Support in Intel Virtualization Technology for Connetivity”, 2008, Rev. 06/08-001US, 4 pages. [cited by applicant]
Nvidia, “Multi-Process Service”, vR495, Oct. 2021, 34 pages. [cited by applicant]
Nvidia, “Nvidia Multi-Instance GPU User Guide”, RN-08625-v.1.0_v01, Aug. 2021, 46 pages. [cited by applicant]
Extended European Search Report for EP23155990.7, mailed Jul. 7, 2023, 11 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/849,165 mailed Apr. 23, 2025, 8 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/827,305 mailed May 8, 2025, 18 pages. [cited by applicant]
Office action for U.S. Appl. No. 17/827,346 mailed May 19, 2025, 17 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/827,373 mailed May 8, 2025, 9 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/849,106 mailed Jun. 3, 2025, 27 pages. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/827,346 mailed Aug. 26, 2025, 18 pages. [cited by applicant]