Application execution allocation using machine learning
Apparatuses, systems, and techniques for assigning execution of applications to various processing units using machine learning are disclosed herein. Usage data for an application to be executed using a computing system including an integrated processing unit and a discrete processing unit is identified. At least a portion of operations of the application to be executed using the integrated processing unit or the discrete processing unit based on the usage data and in view of at least one of one or more system performance metrics or one or more user experience metrics associated with executing the application using the integrated processing unit and the discrete processing unit.
1 . A method comprising:
identifying usage data associated with an application that is to be executed using a computing system, wherein the computing system comprises an integrated processing unit and a discrete processing unit;
processing the usage data using a machine learning model to generate (i) a first value of at least one of one or more system performance metrics or one or more resource utilization metrics corresponding to execution of the one or more operations using the integrated processing unit and (ii) a second value of the at least one of the one or more system performance metrics or the one or more resource utilization metrics corresponding to execution of the one or more operations using the discrete processing unit;
determining whether the one or more operations satisfy at least one of a processing cycle criterion or a power consumption criterion based on the first value and the second value; and
based on the determination, routing the one or more operations of the application to the integrated processing unit or the discrete processing unit.
2 . The method of claim 1 ,
wherein the machine learning model is trained to generate the first value and the second value based on learned relationships between usage data and execution characteristics of the integrated processing unit and the discrete processing unit.
3 . The method of claim 2 , wherein the machine learning model is further trained to generate the first value and the second value based on given context data associated with the computing system, the context data comprising at least one of a first pipeline state of the integrated processing unit, a second pipeline state of the discrete processing unit, a first hardware state of the integrated processing unit, a second hardware state of the discrete processing unit, or a driver state of the computing system.
4 . The method of claim 3 , further comprising:
identifying context data associated with the system; and
providing context data associated with the system as input to the machine learning model.
5 . The method of claim 1 , wherein the one or more operations of the application are routed to the integrated processing unit responsive to a determination that the first value further satisfies one or more application processing criteria.
6 . The method of claim 1 , wherein the one or more operations of the application are routed to the discrete processing unit responsive to at least one of a determination that the first value does not satisfy the one or more application processing criteria or a determination that the second value does satisfy the one or more application processing criteria.
7 . The method of claim 5 , wherein the first value satisfies the one or more application processing criteria responsive to the first value exceeding a performance metric threshold.
8 . The method of claim 1 , wherein the identified usage data comprises historical telemetry data associated with previously executing the application or another application executing using the integrated processing unit or the discrete processing unit of the computing system.
9 . The method of claim 1 , wherein identifying the usage data associated with the application comprises:
responsive to receiving a request to execute the application using the computing system, providing, via a graphical user interface for a client device, an inquiry of one or more features of the application that are to be accessed by a user while the application executes; and
determining the usage data associated with the application in view of a response to the provided inquiry.
10 . The method of claim 1 , wherein at least one of the first value or the second value further comprise one or more user experience metric values associated with executing the application using the at least one of the integrated processing unit or the discrete processing unit.
11 . A processor comprising:
one or more processing units to identify usage data associated with an application that is to be executed using a computing system comprising an integrated processing unit and a discrete processing unit, to process the usage data using a machine learning model to generate (i) a first value of at least one of the one or more system performance metrics or one or more resource utilization metrics corresponding to execution of one or more operations of the application using the integrated processing unit, and (ii) a second value of the at least one of the one or more system performance metrics or the one or more resource utilization metrics corresponding to execution of the one or more operations using the discrete processing unit, to determine whether one or more operations of the application satisfy at least one of a processing cycle criterion or a power consumption criterion based on the first value and the second value, and, based on the determination, to route the one or more operations of the application to the integrated processing unit or the discrete processing unit.
12 . The processor of claim 11 ,
wherein the machine learning model is trained to generate the first value and the second value based on learned relationships between usage data and execution characteristics of the integrated processing unit and the discrete processing unit.
13 . The processor of claim 4 , wherein the one or more operations of the application are routed to the integrated processing unit responsive to a determination that the first value further satisfies one or more application processing criteria.
14 . The processor of claim 4 , wherein the processor 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 system for performing simulation operations;
a system for performing digital twin operations;
a system for performing light transport simulation;
a system for performing collaborative content creation for 3D assets;
a system for performing deep learning operations;
a system implemented using an edge device;
a system implemented using a robot;
a system for performing conversational AI operations;
a system for generating synthetic data;
a system for presenting at least one of virtual reality content, augmented reality content, or mixed reality content;
a system implemented at least partially in a data center; or
a system implemented at least partially using cloud computing resources.
15 . A system comprising:
a processing device to perform operations comprising:
identifying usage data associated with an application that is to be executed using a computing system, wherein the computing system comprises an integrated processing unit and a discrete processing unit;
processing the usage data using a machine learning model to generate (i) a first value of at least one of one or more system performance metrics or one or more resource utilization metrics corresponding to execution of one or more operations of the application using the integrated processing unit and (ii) a second value of the at least one of the one or more system performance metrics or the one or more resource utilization metrics corresponding to execution of the one or more operations using the discrete processing unit;
determining whether one or more operations of the application satisfy at least one of a processing cycle criterion or a power consumption criterion based on the first value and the second value; and
based on the determination, routing the one or more operations of the application to the integrated processing unit or the discrete processing unit.
16 . The system of claim 15 ,
wherein the machine learning model is trained to generate the first value and the second value based on learned relationships between usage data and execution characteristics of the integrated processing unit and the discrete processing unit.
17 . The system of claim 16 , wherein the machine learning model is further trained to generate the first value and the second value based on given context data associated with the computing system, the context data comprising at least one of a first pipeline state of the integrated processing unit, a second pipeline state of the discrete processing unit, a first hardware state of the integrated processing unit, a second hardware state of the discrete processing unit, or a driver state of the computing system.
18 . The system of claim 15 , wherein the one or more operations of the application are routed to the integrated processing unit responsive to a determination that the first value further satisfies one or more application processing criteria.
19 . The system of claim 18 , wherein the one or more operations of the application are routed to the discrete processing unit responsive to at least one of a determination that the first value does not satisfy the one or more application processing criteria or a determination that the second value does satisfy the one or more application processing criteria.
20 . The system of claim 18 , wherein the first value satisfies the one or more application processing criteria responsive to the first value exceeding a performance metric threshold.