Interactive partitioning and mapping of an application across multiple heterogeneous computational devices from a co-simulation design environment
First Claim
1. One or more non-transitory computer-readable storage media storing:
- one or more instructions that, when executed, cause at least one processor to;
interact with a co-simulation design environment, the interacting for communicating with a target environment, the target environment including a plurality of heterogeneous computational devices;
partition, during co-simulation of an application, the application into a plurality of components;
allocate, using the co-simulation design environment, execution of a selected component of the application from among the plurality of components to a selected heterogeneous computational device of the target environment;
wherein the plurality of components execute on the plurality of heterogeneous computational devices;
receive an interactive instruction via the co-simulation design environment, the interactive instruction to alter allocation of the execution of the selected component of the application; and
alter, based on the interactive instruction, the allocation of the execution of the selected component from the selected heterogeneous computational device to another one of the plurality of heterogeneous computational devices during co-simulation of the application.
1 Assignment
0 Petitions
Accused Products
Abstract
In an embodiment, a method for interactively changing allocation of an application including multiple algorithm components executing on a heterogeneous target environment (HTE) provides a user interface in a co-simulation design environment. The user interface is associated with the application having multiple algorithm components executing on the HTE that includes multiple computing devices with different processing capabilities. The method also sets attributes of the allocation scheme of the application using the user interface. The setting occurs when the application is executing. The method further receives data associated with the executing of the application in the co-simulation design environment when the application is executing subsequent to the setting of the attributes of the allocation scheme.
-
Citations
31 Claims
-
1. One or more non-transitory computer-readable storage media storing:
one or more instructions that, when executed, cause at least one processor to; interact with a co-simulation design environment, the interacting for communicating with a target environment, the target environment including a plurality of heterogeneous computational devices; partition, during co-simulation of an application, the application into a plurality of components; allocate, using the co-simulation design environment, execution of a selected component of the application from among the plurality of components to a selected heterogeneous computational device of the target environment; wherein the plurality of components execute on the plurality of heterogeneous computational devices; receive an interactive instruction via the co-simulation design environment, the interactive instruction to alter allocation of the execution of the selected component of the application; and alter, based on the interactive instruction, the allocation of the execution of the selected component from the selected heterogeneous computational device to another one of the plurality of heterogeneous computational devices during co-simulation of the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
22. One or more non-transitory computer-readable storage media storing:
one or more instructions that, when executed, cause at least one processor to; interact with a co-simulation design environment, the interacting to communicate with an application executing on a target environment, the target environment including a plurality of heterogeneous computational devices; partition the application into one or more components during co-simulation of the application; allocate executing of the one or more components to the plurality of heterogeneous computational devices; receive execution data from at least one of the one or more components in the co-simulation design environment while the application is running; and disable the executing of at least one of the one or more components of the application on one of the plurality of heterogeneous computational devices when the application is executing on the plurality of heterogeneous computational devices based on the received execution data. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
29. A computer-implemented method comprising:
-
interacting with a co-simulation design environment, the interacting to communicate with a target environment, the target environment including a plurality heterogeneous computational devices; partitioning, during co-simulation of the application, the application into a plurality of components; allocating execution of at least one of the plurality of components to one or more of the plurality of heterogeneous computational devices; receiving execution data from at least one of the plurality of components in the co-simulation design environment while the application is running; receiving an interactive instruction via the co-simulation design environment, the interactive instruction to alter allocation of the execution of the at least one the plurality of components based on the execution data; altering, based on the received instruction, the allocation of the execution of the at least one the plurality of components from the one or more of the plurality of heterogeneous computational devices to a different one of the plurality of heterogeneous computational devices during co-simulation of the application.
-
-
30. A computer-implemented method comprising:
-
interacting with a co-simulation design environment, the interacting to communicate with an application executing on a target environment, the target environment including heterogeneous computational devices; partitioning the application into one or more components during co-simulation of the application; allocating, based on the partitioning, execution of the one or more components to one or more of the heterogeneous computational devices during the execution of the application; and receiving execution data from at least one of the one or more components in the co-simulation design environment while the application is running; and disabling the execution of at least one of the one or more components on at least one of the heterogeneous computational devices during execution of the application based on the received execution data.
-
-
31. A system for interactively changing allocation of an application executing in a target environment, comprising:
a processor interacting with the memory to; interact with a co-simulation design environment, the co-simulation design environment performing co-simulation of an application executing on a target environment, communicate with the application while the application executes on the target environment, the communicating based on the interacting, the target environment including heterogeneous computational devices; partition the application into a plurality of components; allocate execution of at least one of the plurality of components to one or more of the heterogeneous computational devices, where the allocating occurs when without performing one or more of;
re-generating, re-compiling, re-synthesizing or re-running code for the application;receive an interactive instruction via the co-simulation design environment, altering allocation of the execution of the at least one of the plurality of components of the application while the application is executing, the altering based on the received interactive instruction; receive execution data from the application executing on the one or more heterogeneous computational devices, the receiving occurring; in the co-simulation design environment, and when the application is executing; and alter allocation of the execution of the at least one of the plurality of components of the application based on the received data, the altering performed while the application is executing on the heterogeneous computational devices, the allocating and altering occurring without performing one or more of;
re-generating, re-compiling, re-synthesizing or re-running code for the application.
Specification