IP Library Granted Patent US 12,613,739
Granted Patent B2
US 12,613,739 · App. 17/827,346 · Granted Apr 28, 2026

Hard partitioning via intra-SOC composition

Inventors: David Cowperthwaite (Portland, OR); Kenneth Daxer (Sunnyvale, CA); Aditya Navale (Folsom, CA); Prasoonkumar Surti (Folsom, CA); Arthur Hunter (Cameron Park, CA); Hema Chand Nalluri (Bengaluru, IN); Jeffery S. Boles (Folsom, CA); Vasanth Ranganathan (El Dorado Hills, CA); Joydeep Ray (Folsom, CA); David Puffer (Tempe, AZ); Aravindh Anantaraman (Folsom, CA); Ankur Shah (Folsom, CA); Vidhya Krishnan (Folsom, CA); Kritika Bala (Folsom, CA); Michael Apodaca (El Dorado Hills, CA)
Assignee: Intel Corporation
G06F9/4881G06F9/5038G06F9/5055G06T1/20G06T1/60
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,613,739
App. No.
17/827,346
Granted
Apr 28, 2026
Kind
B2
Abstract

Described herein is a partitional graphics processor having multiple hard partitions with separate software execution and fault domains. One embodiment provides a graphics processor comprising a system interface and a plurality of graphics processing resources coupled with the system interface. The plurality of graphics processing resources is configurable to be partitioned into a plurality of isolated device partitions, each isolated device partition configured for fault isolation and independent concurrent execution of workloads associated with a plurality of clients, and the system interface is configured to present each of the plurality of isolated device partitions as a virtual function.

Claims (34)

1 . A graphics processing unit comprising:

a system interface; and

graphics processing circuitry coupled with the system interface, wherein the graphics processing circuitry is configurable to be partitioned into a plurality of isolated device partitions, each of the plurality of isolated device partitions having an independent reset and power management domain configured for fault isolation and independent concurrent execution of a workload of a plurality of workloads associated with a plurality of clients, the system interface is configured to present each of the plurality of isolated device partitions as a virtual function, wherein the graphics processing circuitry is configured to enable independent performance profiling for each of the plurality of isolated device partitions, and profiling data for an isolated device partition is accessible via a virtual function unit associated with the isolated device partition.

2 . The graphics processing unit as in claim 1 , wherein each isolated device partition includes an independent media engine.

3 . The graphics processing unit as in claim 1 , wherein the graphics processing circuitry includes a plurality of graphics processor cores or a plurality of graphics processor core clusters.

4 . The graphics processing unit as in claim 1 , wherein the system interface is configured to present a first virtual function associated with a first isolated device partition and a second virtual function associated with a second isolated device partition.

5 . The graphics processing unit as in claim 4 , wherein the first isolated device partition includes a first microcontroller that includes a first scheduler to schedule workloads for execution by the first isolated device partition and the second isolated device partition includes a second microcontroller that includes a second scheduler to schedule workloads for execution by the second isolated device partition.

6 . The graphics processing unit as in claim 5 , additionally including a plurality of hardware tiles, each hardware tile including a portion of the graphics processing circuitry, wherein the plurality of hardware tiles includes a first hardware tile associated with a first virtual function and a second hardware tile associated with a second virtual function.

7 . The graphics processing unit as in claim 5 , additionally including a plurality of chiplets, each chiplet an at least partially packaged integrated circuit including a portion of the graphics processing circuitry, wherein the plurality of chiplets includes a first chiplet associated with a first virtual function and a second chiplet associated with a second virtual function.

8 . The graphics processing unit as in claim 1 , wherein the graphics processing circuitry is configured to is accessible via a virtual function unit associated with the isolated device partition compose a composite device partition via selection, from collections of fixed function and programmable logic within the graphics processing unit, of one or more cache partitions, memory partitions, fixed function units, and compute partitions for each device partition.

9 . A data processing system comprising:

a memory device to store instructions; and

a graphics processing unit including graphics processing circuitry configured to execute instructions stored on the memory device, wherein the graphics processing circuitry is configurable to be partitioned into a plurality of isolated device partitions, each of the plurality of isolated device partitions having an independent reset and power management domain configured for fault isolation and independent concurrent execution of a workload of a plurality of workloads associated with a plurality of clients, a system interface is configured to present each of the plurality of isolated device partitions as a virtual function, wherein the graphics processing circuitry is configured to enable independent performance profiling for each of the plurality of isolated device partitions, and profiling data for an isolated device partition is accessible via a virtual function unit associated with the isolated device partition.

10 . The data processing system as in claim 9 , wherein each isolated device partition includes an independent media engine.

11 . The data processing system as in claim 9 , wherein the graphics processing circuitry includes a plurality of graphics processor cores, or a plurality of graphics processor core clusters, and the system interface is configured to:

present a first virtual function associated with a first isolated device partition; and

present a second virtual function associated with a second isolated device partition.

12 . The data processing system as in claim 11 , wherein the first isolated device partition includes a first microcontroller that includes a first scheduler to schedule workloads for execution by the first isolated device partition and the second isolated device partition includes a second microcontroller that includes a second scheduler to schedule workloads for execution by the second isolated device partition.

13 . The data processing system as in claim 12 , additionally including a plurality of hardware tiles, each hardware tile including a portion of the graphics processing circuitry, wherein the plurality of hardware tiles includes a first hardware tile associated with a first virtual function, a second hardware tile associated with a second virtual function.

14 . The data processing system as in claim 12 , additionally including a plurality of chiplets, each chiplet an at least partially packaged integrated circuit including a portion of the graphics processing circuitry, wherein the plurality of chiplets includes a first chiplet associated with a first virtual function and a second chiplet associated with a second virtual function.

15 . The data processing system as in claim 9 , wherein the graphics processing circuitry is configured to compose a composite device partition via selection, from collections of fixed function and programmable logic within the graphics processing unit, of one or more cache partitions, memory partitions, fixed function units, and compute partitions for each device partition.

16 . A method comprising:

configuring a number of cache and memory partitions for a graphics processing unit of a multi-client server device, wherein the graphics processing unit is partitionable into a plurality of isolated device partitions, each of the plurality of isolated device partitions having an independent reset and power management domain configured for fault isolation and independent workload execution;

configuring a number of compute partitions for the graphics processing unit;

compositing isolated device partitions of the graphics processing unit via selection, from collections of fixed function and programmable logic within the graphics processing unit, of one or more cache partitions, memory partitions, fixed function units, and compute partitions for each device partition;

partitioning memory bandwidth among the isolated device partitions;

configuring capabilities for the isolated device partitions, wherein configuring the capabilities for the isolated device partitions includes configuring render and media processing capabilities for the isolated device partitions based on selected fixed function units; and

executing multiple workloads in parallel from multiple clients of the multi-client server device via multiple isolated device partitions of the graphics processing unit, the multiple workloads executed according to configured capabilities of the isolated device partitions.

17 . The method as in claim 16 , wherein the graphics processing unit includes graphics processing circuitry and configuring the number of compute partitions for the graphics processing unit includes dividing the graphics processing circuitry into two or more partitions.

18 . The method as in claim 17 , wherein the graphics processing circuitry includes a plurality of graphics processor cores or a plurality of graphics processor core clusters.

19 . The method as in claim 16 , wherein configuring the render and media processing capabilities for the isolated device partitions includes configuring two or more isolated device partitions with a media processing capability.

20 . The method as in claim 19 , wherein configuring the render and media processing capabilities for the isolated device partitions includes configuring each isolated device partition with media processing capability.

21 . The method as in claim 19 , wherein configuring the render and media processing capabilities for the isolated device partitions includes configuring two or more isolated device partitions with a capability to perform operations associated with a three-dimensional (3D) rendering application programming interface (API).

22 . The method as in claim 16 , further comprising configuring independent performance profiling for the isolated device partitions of the graphics processing unit, wherein profiling data for an isolated device partition is accessible via a virtual function unit associated with the isolated device partition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: COWPERTHWAITE, DAVID; DAXER, KENNETH; NAVALE, ADITYA; SURTI, PRASOONKUMAR; HUNTER, ARTHUR; NALLURI, HEMA CHAND; BOLES, JEFFERY S.; RANGANATHAN, VASANTH; RAY, JOYDEEP; PUFFER, DAVID; ANANTARAMAN, ARAVINDH; SHAH, ANKUR; KRISHNAN, VIDHYA; BALA, KRITIKA; APODACA, MICHAEL
To: INTEL CORPORATION
Reel/Frame 062057/0895 →
Continuity (4)
Provisional Application 63321665 · Mar 19, 2022
Provisional Application 63321580 · Mar 18, 2022
Provisional Application 63321594 · Mar 18, 2022
Related Publication 20230297421A1 · Sep 21, 2023
References Cited (69)
US 5764999A · Wilcox · 1998 [cited by applicant]
US 7289823B1 · Kumar et al. · 2007 [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 10013734B1 · Boles et al. · 2018 [cited by applicant]
US 10176550B1 · Baggerman · 2019 [cited by applicant]
US 10437637B1 · Koneru et al. · 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 20130181998A1 · Malakapalli et al. · 2013 [cited by applicant]
US 20130304990A1 · Bass et al. · 2013 [cited by applicant]
US 20140132611A1 · Chen et al. · 2014 [cited by applicant]
US 20150294494A1 · Stone · 2015 [cited by applicant]
US 20160246731A1 · Koob et al. · 2016 [cited by applicant]
US 20160328823A1 · Rao et al. · 2016 [cited by applicant]
US 20170329729A1 · Chew · 2017 [cited by applicant]
US 20180089881A1 · Johnson · 2018 [cited by applicant]
US 20180293692A1 · Koker et al. · 2018 [cited by applicant]
US 20180307533A1 · Tian et al. · 2018 [cited by applicant]
US 20180308198A1 · Appu · 2018 [cited by examiner]
US 20180341503A1 · Nair · 2018 [cited by applicant]
US 20190268017A1 · Gopal · 2019 [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 et al. · 2020 [cited by applicant]
US 20200264910A1 · Kraemer et al. · 2020 [cited by applicant]
US 20200264994A1 · Raisch et al. · 2020 [cited by applicant]
US 20200278938A1 · Vembu et al. · 2020 [cited by applicant]
US 20200379920A1 · Banerjee et al. · 2020 [cited by applicant]
US 20200409733A1 · Sankaran · 2020 [cited by examiner]
US 20200410628A1 · Shah et al. · 2020 [cited by applicant]
US 20210073125A1 · Duluk, Jr. et al. · 2021 [cited by applicant]
US 20210165745A1 · Karve et al. · 2021 [cited by applicant]
US 20210263755A1 · Tian et al. · 2021 [cited by applicant]
US 20210272347A1 · Mccrary · 2021 [cited by applicant]
US 20220058047A1 · Epstein · 2022 [cited by applicant]
US 20220188135A1 · Jiang · 2022 [cited by examiner]
US 20220206833A1 · Bhandari et al. · 2022 [cited by applicant]
US 20220276966A1 · Shcherbina · 2022 [cited by examiner]
US 20220295160A1 · Wang · 2022 [cited by examiner]
US 20220405128A1 · Aristarkhov · 2022 [cited by applicant]
US 20230017802A1 · Abhishek Raja et al. · 2023 [cited by applicant]
US 20230254727A1 · Lourdu Raja · 2023 [cited by examiner]
US 20230288471A1 · Duluk et al. · 2023 [cited by applicant]
US 20260038079A1 · Krishnan et al. · 2026 [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]
Notice of Allowance for U.S. Appl. No. 17/832,305, mailed Apr. 26, 2023, 8 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/459,311, mailed Sep. 17, 2024, 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,373 mailed May 8, 2025, 9 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/827,444 dated Apr. 28, 2025, 30 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/849,106 mailed Jun. 3, 2025, 27 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/849,165 mailed Apr. 23, 2025, 8 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/827,444 mailed Sep. 2, 2025, 16 pages. [cited by applicant]
Final Office Action for US Application No. 17/849,106 mailed Dec. 3, 2025, 37 pages. [cited by applicant]
Office Action for U.S. Appl. No. 18/967,216 mailed Feb. 11, 2026, 8 pages. [cited by applicant]