IP Library Granted Patent US 8,769,503
Granted Patent B2
US 8,769,503 · App. 11/842,087 · Granted Jul 1, 2014

Computation of elementwise expression in parallel

Inventor: Brett Baker (Framingham, MA)
Assignee: The MathWorks, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,769,503
App. No.
11/842,087
Granted
Jul 1, 2014
Kind
B2
Abstract

An exemplary embodiment provides methods, systems and mediums for executing arithmetic expressions that represent elementwise operations. An exemplary embodiment provides a computing environment in which elementwise expressions may be executed in parallel by multiple execution units. In an exemplary embodiment, multiple execution units may reside on a network.

Claims (52)

1. A computer-implemented method comprising:

obtaining input data that includes an expression containing an array to which at least one of an elementwise operator and function is applied;

profiling an application and a data set to generate a performance profile prior to execution of the expression, the application including the expression;

starting execution of the application;

determining, during the execution of the application, that the expression is to be executed in parallel based on the performance profile, the determining including:

determining a number of chunks in the array included in the expression; and

continuing the execution of the application by executing the expression in parallel upon determining to execute the expression in parallel based on the performance profile.

2. The method of claim 1 , wherein the profiling is performed on specific hardware.

3. The method of claim 1 , further comprising:

storing first hardware characteristics of first hardware executing the application and associating the stored first hardware characteristics with the performance profile.

4. The method of claim 3 , further comprising:

receiving the performance profile, when executing the expression in second hardware having second hardware characteristics, based on a comparison of the first hardware characteristics and the second hardware characteristics.

5. The method of claim 1 , wherein the performance profile is indicative of a performance of the elementwise operator or function that is most expensive in the expression.

6. The method of claim 5 , further comprising:

re-measuring the performance of the elementwise operator or function executed in the application;

storing an updated performance profile indicating the measured performance; and

determining whether to continue executing the expression in parallel based on the updated performance profile.

7. A non-transitory computer-readable medium holding computer-executable instructions that when executed cause at least one computing device to:

obtain input data that includes an expression containing an array to which at least one of an elementwise operator and function is applied;

profile an application and a data set to generate a performance profile prior to execution of the expression, the application including the expression;

starting execution of the application;

determine, during the execution of the application, that the expression is to be executed in parallel based on the performance profile, the determining including:

determining a number of chunks in the array included in the expression; and

continue the execution of the application by executing the expression in parallel upon determining to execute the expression in parallel based on the performance profile.

8. The medium of claim 7 , wherein the profiling is performed on specific hardware.

9. The medium of claim 7 , wherein the instructions when executed further cause at least one computing device to:

store first hardware characteristics of first hardware executing the application and associating the stored first hardware characteristics with the performance profile.

10. The medium of claim 7 , wherein the instructions when executed further cause the at least one computing device to:

receive the performance profile when executing the expression in second hardware having second hardware characteristics, based on a comparison of the first hardware characteristics and the second hardware characteristics.

11. The medium of claim 7 , wherein the performance profile is indicative of a performance of the elementwise operator or function that is most expensive in the expression.

12. The medium of claim 11 , wherein the instructions when executed further cause the at least one computing device to:

re-measure the performance of the elementwise operator or function executed in the application;

store an updated performance profile indicating the measured performance; and

determine whether to continue executing the expression in parallel based on the updated performance profile.

13. An apparatus comprising:

a processor for executing instructions for:

obtaining input data that includes an expression containing an array to which at least one of an elementwise operator and function is applied;

profiling an application and a data set to generate a performance profile prior to execution of the expression, the application including the expression;

starting execution of the application;

determining, during the execution of the application, that the expression is to be executed in parallel based on the performance profile, the determining including:

determining a number of chunks in the array included in the expression; and

continuing the execution of the application by executing the expression in parallel upon determining to execute the expression in parallel based on the performance profile.

14. The apparatus of claim 13 , wherein the profiling is performed on specific hardware.

15. The apparatus of claim 13 , further comprising:

a storage for storing first hardware characteristics of first hardware executing the application and associating the stored first hardware characteristics with the performance profile.

16. The apparatus of claim 15 , wherein the processor further executes instructions for:

receiving the performance profile when executing the expression in second hardware having second hardware characteristics, based on a comparison of the first hardware characteristics and the second hardware characteristics.

17. The apparatus of claim 13 , wherein the performance profile is indicative of a performance of the elementwise operator or function that is most expensive in the expression.

18. The apparatus of claim 17 , wherein the processor further executes instructions for:

re-measuring the performance of the elementwise operator or function executed in the application;

storing an updated performance profile indicating the measured performance; and

determining whether to continue executing the expression in parallel based on the updated performance profile.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2012
From: BAKER, BRETT
To: THE MATHWORKS, INC.
Reel/Frame 028795/0669 →
Continuity (2)
Continuation 11651119 · Jan 8, 2007
Related Publication 20090144747A1 · Jun 4, 2009