Techniques for configuring a processor to function as multiple, separate processors in a virtualized environment

US12498979B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12498979-B2
Application numberUS-202117164718-A
CountryUS
Kind codeB2
Filing dateFeb 1, 2021
Priority dateSep 5, 2019
Publication dateDec 16, 2025
Grant dateDec 16, 2025

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.

A parallel processing unit (PPU), operating in a traditional processing environment or in a virtualized processing environment, can be divided into partitions. Each partition is configured to operate similarly to how the entire PPU operates. A given partition includes a subset of the computational and memory resources associated with the entire PPU. Software that executes on a CPU partitions the PPU for an admin user. A guest user is assigned to a partition and can perform processing tasks within that partition in isolation from any other guest users assigned to any other partitions. Because the PPU can be divided into isolated partitions, multiple CPU processes can efficiently utilize PPU resources.

First claim

Opening claim text (preview).

What is claimed is: 1 . A system, comprising: one or more guest operating systems executing in a first computer system; a hypervisor that manages access by the one or more guest operating systems to a first processor in the first computer system, wherein the first processor is partitioned into a plurality of logical processors, and wherein each logical processor in the plurality of logical processors: performs functions of the first processor, while using a fraction of a total capacity of the first processor, is assigned exclusive use of a subset of a plurality of hardware resources included in the first processor, and executes in functional isolation from all other logical processors; a first interception layer executing on a second processor or on a third processor in a second computer system that is remote from the first computer system and that: routes a request generated via a first application programming interface (API) by a software application executing on the second processor to a first available hardware resource selected from the subset of the plurality of hardware resources; and a second interception layer executing the first processor or on a fourth processor in the first computer system that: translates the request generated via the first API to API calls for a second API supported by a driver executing on the first processor or on the fourth processor in the first computer system, subsequent to translating the request, transmits the request to the driver, and routes a response to the request from the driver to the first interception layer executing on the second computer system. 2 . The system of claim 1 , wherein the first processor comprises a graphics processing unit (GPU). 3 . The system of claim 1 , wherein the first available hardware resource comprises a cache, a cluster of processing cores, a memory controller, a context switching unit, a scheduler, or a work distribution unit. 4 . The system of claim 1 , wherein a first logical processor in the plurality of logical processors is assigned exclusive use of a first percentage of the plurality of hardware resources and a second logical processor is assigned exclusive use of less than the first percentage of the plurality of hardware resources. 5 . The system of claim 1 , wherein each logical processor in the plurality of logical processors executes tasks associated with a different guest operating system included in the one or more guest operating systems. 6 . The system of claim 1 , wherein a first logical processor in the plurality of logical processors executes a first set of tasks in parallel with a second logical processor in the plurality of logical processors executing a second set of tasks. 7 . The system of claim 1 , wherein a first logical processor in the plurality of logical processors includes a plurality of processing engines, and wherein a first processing engine included in the plurality of processing engines executes a first set of processing tasks associated with a first processing context in a given time interval and a second processing engine included in the plurality of processing engines executes a second set of processing tasks associated with the first processing context in the given time interval. 8 . The system of claim 1 , wherein a first logical processor in the plurality of logical processors includes a plurality of processing engines, wherein a first processing context executing within a first processing engine included in the plurality of processing engines is migrated to a second processing engine included in the plurality of processing engines. 9 . A computer-implemented method, comprising: managing access by one or more guest operating systems executing in a first computer system to a first processor in the first computer system, wherein the first processor is partitioned into a plurality of logical processors, wherein each logical processor in the plurality of logical processors: performs functions of the first processor, while using a fraction of a total capacity of the first processor, is assigned exclusive use of a subset of a plurality of hardware resources included in the first processor, and executes in functional isolation from all other logical processors, wherein a first interception layer: routes a request generated via a first application programming interface (API) by a second processor in a second computer system to a first available hardware resource selected from the subset of the plurality of hardware resources, and wherein a second interception layer included in the first computer system: translates the request generated via the first API to API calls for a second API supported by a driver executing on the first processor in the first computer system, subsequent to translating the request, transmits the request to the driver, and routes a response to the request from the driver to the first interception layer executing on the second computer system. 10 . The computer-implemented method of claim 9 , wherein the first processor comprises a graphics processing unit (GPU). 11 . The computer-implemented method of claim 9 , wherein the first available hardware resource comprises a cache, a cluster of processing cores, a memory controller, a context switching unit, a scheduler, or a work distribution unit. 12 . The computer-implemented method of claim 9 , wherein a first logical processor in the plurality of logical processors is assigned exclusive use of a first percentage of the plurality of hardware resources and a second logical processor is assigned exclusive use of less than the first percentage of the plurality of hardware resources. 13 . The computer-implemented method of claim 9 , wherein each logical processor in the plurality of logical processors executes tasks associated with a different guest operating system included in the one or more guest operating systems. 14 . The computer-implemented method of claim 9 , wherein a first logical processor in the plurality of logical processors executes a first set of tasks in parallel with a second logical processor in the plurality of logical processors executing a second set of tasks. 15 . The computer-implemented method of claim 9 , wherein a first logical processor in the plurality of logical processors includes a plurality of processing engines, and wherein a first processing engine included in the plurality of processing engines executes a first set of processing tasks associated with a first processing context in a given time interval and a second processing engine included in the plurality of processing engines executes a second set of processing tasks associated with the first processing context in the given time interval. 16 . The computer-implemented method of claim 9 , wherein a first logical processor in the plurality of logical processors includes a plurality of processing engines, wherein a first processing context executing within a first processing engine included in the plurality of processing engines is migrated to a second processing engine included in the plurality of processing engines. 17 . A system, comprising: a first interception layer executing on a first processor in a first computing system, wherein the first interception layer is configured to: intercept a request generated via a first application programming interface (API) to a second processor included in a second computer system by a software application executing on the first computing system, wherein the second computing system includes the second processor rathe

Assignees

Inventors

Classifications

  • G06T1/20Primary

    Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • Hypervisors; Virtual machine monitors · CPC title

  • Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • Offload · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · 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 US12498979B2 cover?
A parallel processing unit (PPU), operating in a traditional processing environment or in a virtualized processing environment, can be divided into partitions. Each partition is configured to operate similarly to how the entire PPU operates. A given partition includes a subset of the computational and memory resources associated with the entire PPU. Software that executes on a CPU partitions th…
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 Dec 16 2025 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).