Analysis assistant for determining execution inefficiencies in dataflow programs
US-2024078098-A1 · Mar 7, 2024 · US
US2023418726A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2023418726-A1 |
| Application number | US-202217850847-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jun 27, 2022 |
| Priority date | Jun 27, 2022 |
| Publication date | Dec 28, 2023 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.