Detecting and optimizing program workload inefficiencies at runtime

US2023418726A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2023418726-A1
Application numberUS-202217850847-A
CountryUS
Kind codeA1
Filing dateJun 27, 2022
Priority dateJun 27, 2022
Publication dateDec 28, 2023
Grant date

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.

Methods and systems for comparing information obtained during execution of a workload to a set of inefficiency patterns, and determining the workload includes a potential inefficiency when the information matches at least one of the set of inefficiency patterns.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: comparing information obtained during execution of a workload to a set of inefficiency patterns; and determining the workload includes a potential inefficiency when the information matches at least one of the set of inefficiency patterns. 2 . The method of claim 1 , further comprising: obtaining a metric of utilization of a hardware platform executing the workload, the information comprising the metric. 3 . The method of claim 1 , further comprising: detecting a call to an operation by the workload as the workload executes, the information comprising an identifier of the operation. 4 . The method of claim 3 , wherein the information comprises at least one parameter included in the call. 5 . The method of claim 1 , further comprising: detecting an operation has been performed as part of the workload as the workload executes, the information comprising at least one value generated by the operation. 6 . The method of claim 1 , further comprising: patching instructions to an operation to be performed as part of the workload as the workload executes; and performing the instructions after the operation is called during the execution of the workload, the instructions causing the information to be compared to the set of inefficiency patterns. 7 . The method of claim 1 , further comprising: determining at least one action to address the potential inefficiency. 8 . The method of claim 7 , further comprising: using machine learning to determine the at least one action. 9 . The method of claim 7 , further comprising: providing the at least one action to a user. 10 . The method of claim 7 , further comprising: automatically implementing the at least one action. 11 . The method of claim 10 , wherein the at least one action is automatically implemented before the execution completes. 12 . The method of claim 7 , further comprising: determining an amount of performance improvement achievable by implementing the at least one action. 13 . The method of claim 7 , further comprising: producing a first modified workload by implementing the at least one action; identifying at least one improvement to the first modified workload by executing the first modified workload; and producing a second modified workload by implementing the at least one improvement. 14 . The method of claim 1 , wherein the set of inefficiency patterns comprises a plurality of inefficiency patterns, a plurality of potential inefficiencies comprise the potential inefficiency, the plurality of inefficiency patterns is associated with a plurality of priority values, and the method further comprises: determining the workload includes the plurality of potential inefficiencies when the information matches one or more of the set of inefficiency patterns; determining a plurality of actions that address the plurality of potential inefficiencies; sorting the plurality of actions by the plurality of priority values associated with the plurality of inefficiency patterns that matched the plurality of potential inefficiencies addressed by the plurality of actions; and providing the sorted plurality of actions to a user. 15 . The method of claim 1 , wherein the workload executes within a hardware and software domain, and the set of inefficiency patterns comprises at least one predefined inefficiency pattern that is specific to the hardware and software domain. 16 . A system comprising: at least one circuit to: automatically select a workload; compare information obtained during execution of the workload to a set of inefficiency patterns; and identify, as one or more potential inefficiencies, at least one inefficiency pattern from the set of inefficiency patterns that matches at least a portion of the information. 17 . The system of claim 16 , wherein the at least one circuit is to determine at least one action that addresses the one or more potential inefficiencies. 18 . The system of claim 17 , wherein the at least one circuit is to at least one of provide the at least one action to a user or automatically implement the at least one action. 19 . The system of claim 17 , wherein the at least one circuit is to determine an amount of performance improvement achievable by implementing the at least one action. 20 . The system of claim 16 , wherein the at least one circuit is to automatically select the workload from a plurality of workloads that were performed previously. 21 . The system of claim 20 , wherein the at least one circuit is to automatically select the workload based on information included in the plurality of workloads. 22 . The system of claim 16 , wherein the at least one circuit is repeat automatically selecting the workload, comparing the information, and identifying the one or more potential inefficiencies after a predetermined amount of time. 23 . The system of claim 16 , wherein the at least one circuit is to implement a first execution environment that is separate from a second execution environment in which the workload was performed previously, and the workload is executed in the first execution environment. 24 . The system of claim 16 , wherein the at least one circuit is to enter an issue corresponding to at least one of the one or more potential inefficiencies into an issue tracking system. 25 . The system of claim 16 , wherein the system is comprised in at least one of: a control system for an autonomous or semi-autonomous machine; a perception system for an autonomous or semi-autonomous machine; a first system for performing simulation operations; a second system for performing digital twin operations; a third system for performing light transport simulation; a fourth system for performing collaborative content creation for 3D assets; a fifth system for performing deep learning operations; a sixth system implemented using an edge device; a seventh system implemented using a robot; an eighth system for performing conversational Artificial Intelligence operations; a ninth system for generating synthetic data; a tenth system incorporating one or more virtual machines (VMs); an eleventh system implemented at least partially in a data center; a twelfth system implemented at least partially using cloud computing resources; a thirteenth system for implementing a web-hosted service for detecting program workload inefficiencies; or an application as an application programming interface (“API”). 26 . A processor comprising: one or more processing units to: identify, using one or more neural networks, one or more potential inefficiencies caused by execution of workload instructions based at least in part on information obtained during the execution of the workload instructions and a set of inefficiency patterns. 27 . The processor of claim 26 , wherein the one or more processing units are further to import performance analyzer instructions into the workload instructions such that executing the workload instructions executes the performance analyzer instructions, and wherein the one or more potential inefficiencies are identified via execution of the performance analyzer instructions. 28 . The processor of claim 27 , wherein the one or more processing units are further to: patch a portion of the performance analyzer instructions

Assignees

Inventors

Classifications

  • by runtime analysis (performance monitoring G06F11/3466) · CPC title

  • for performance assessment · CPC title

  • Workload generation, e.g. scripts, playback · CPC title

  • Architecture, e.g. interconnection topology · CPC title

  • Learning methods · 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 US2023418726A1 cover?
Methods and systems for comparing information obtained during execution of a workload to a set of inefficiency patterns, and determining the workload includes a potential inefficiency when the information matches at least one of the set of inefficiency patterns.
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06F11/3612. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Dec 28 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).