CA2262277A1 - A system and method for optimizing program execution in a computer system - Google Patents
A system and method for optimizing program execution in a computer system Download PDFInfo
- Publication number
- CA2262277A1 CA2262277A1 CA 2262277 CA2262277A CA2262277A1 CA 2262277 A1 CA2262277 A1 CA 2262277A1 CA 2262277 CA2262277 CA 2262277 CA 2262277 A CA2262277 A CA 2262277A CA 2262277 A1 CA2262277 A1 CA 2262277A1
- Authority
- CA
- Canada
- Prior art keywords
- loops
- selection
- computer system
- program execution
- optimization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
- G06F8/452—Loops
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
A method, computer system and article of manufacture for optimizing a computer program, the method comprising the steps of executing an application program and profiling selected loops of the executing program. Characteristics of the profiled loops are then compared to corresponding predetermined threshold values and the results of the comparison are used to select an optimization to be applied to subsequent execution of the selected loops. In a preferred embodiment, the optimization is the selection of either a parallel version or a serial version of the loop. Further embodiments provide for the selection of the number of processors for parallel implemented loops and for the selection of an unroll factor in serially implemented loops.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA 2262277 CA2262277C (en) | 1999-02-22 | 1999-02-22 | A system and method for optimizing program execution in a computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA 2262277 CA2262277C (en) | 1999-02-22 | 1999-02-22 | A system and method for optimizing program execution in a computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2262277A1 true CA2262277A1 (en) | 2000-08-22 |
CA2262277C CA2262277C (en) | 2003-05-20 |
Family
ID=4163313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA 2262277 Expired - Fee Related CA2262277C (en) | 1999-02-22 | 1999-02-22 | A system and method for optimizing program execution in a computer system |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA2262277C (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008085977A2 (en) * | 2007-01-08 | 2008-07-17 | The Mathworks, Inc. | Computation of elementwise expression in parallel |
US20100138810A1 (en) * | 2008-12-03 | 2010-06-03 | International Business Machines Corporation | Paralleling processing method, system and program |
US20140101641A1 (en) * | 2012-10-09 | 2014-04-10 | Securboration, Inc. | Systems and methods for automatically parallelizing sequential code |
US10725897B2 (en) | 2012-10-09 | 2020-07-28 | Securboration, Inc. | Systems and methods for automatically parallelizing sequential code |
-
1999
- 1999-02-22 CA CA 2262277 patent/CA2262277C/en not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008085977A2 (en) * | 2007-01-08 | 2008-07-17 | The Mathworks, Inc. | Computation of elementwise expression in parallel |
WO2008085977A3 (en) * | 2007-01-08 | 2008-09-04 | Mathworks Inc | Computation of elementwise expression in parallel |
US8769503B2 (en) | 2007-01-08 | 2014-07-01 | The Mathworks, Inc. | Computation of elementwise expression in parallel |
US8799871B2 (en) | 2007-01-08 | 2014-08-05 | The Mathworks, Inc. | Computation of elementwise expression in parallel |
US20100138810A1 (en) * | 2008-12-03 | 2010-06-03 | International Business Machines Corporation | Paralleling processing method, system and program |
US8438553B2 (en) * | 2008-12-03 | 2013-05-07 | International Business Machines Corporation | Paralleling processing method, system and program |
US20140101641A1 (en) * | 2012-10-09 | 2014-04-10 | Securboration, Inc. | Systems and methods for automatically parallelizing sequential code |
WO2014058854A1 (en) * | 2012-10-09 | 2014-04-17 | Securboration, Inc. | Systems and methods for automatically parallelizing sequential code |
US10387293B2 (en) * | 2012-10-09 | 2019-08-20 | Securboration, Inc. | Systems and methods for automatically parallelizing sequential code |
US10725897B2 (en) | 2012-10-09 | 2020-07-28 | Securboration, Inc. | Systems and methods for automatically parallelizing sequential code |
US11093372B2 (en) | 2012-10-09 | 2021-08-17 | Securboration, Inc. | Systems and methods for automatically parallelizing sequential code |
Also Published As
Publication number | Publication date |
---|---|
CA2262277C (en) | 2003-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6308319B1 (en) | Thread suspension system and method using trapping instructions in delay slots | |
US7013454B2 (en) | Thread suspension system and method using trapping instructions | |
TW357319B (en) | Computer system and method for executing threads of execution with reduced run-time memory space requirements | |
EP1026585A3 (en) | Method, apparatus, and article of manufacture for developing and executing data flow programs, and optimizing user input specifications | |
WO2004034218A3 (en) | Method and apparatus for thread-based memory access in a multithreaded processor | |
WO2001048606A3 (en) | Allocation of data to threads in multi-threaded network processor | |
WO2002054194A3 (en) | Adaptive software installation process supporting multiple layers of security-related attributes | |
EP0953908A3 (en) | Method, apparatus, and article of manufacture for time profiling multithreaded programs | |
WO2001063415A3 (en) | Operating system having a system page and method for using same | |
DE60035324D1 (en) | Monitoring of computer usage | |
CA2431066A1 (en) | Methods and apparatus for designing high-dimensional combinatorial experiments | |
EP0864975A3 (en) | Detecting concurrency errors in multi-threaded programs | |
CA2135318A1 (en) | Method of Producing Knitted Articles | |
WO2002061630A3 (en) | System, method and article of manufacture for distributing ip cores | |
GB0019341D0 (en) | System-on-chip solutions | |
DE3781752D1 (en) | PERFORMANCE TYPE CAPACITOR AND ITS USE IN A MAGNETRON. | |
WO2002061636A3 (en) | System, method and article of manufacture for parameterized expression libraries | |
WO2004034209A3 (en) | Method and apparatus for register file port reduction in a multithreaded processor | |
WO2003049378A3 (en) | Home network environment as a state machine | |
EP1026583A3 (en) | User interface for developing and executing data flow programs and methods, apparatus, and articles of manufacture for optimizing the execution of data flow programs | |
CA2447425A1 (en) | Issuance and execution of memory instructions to avoid read-after-write hazards | |
WO2000079383A3 (en) | Supporting multi-dimensional space-time computing through object versioning | |
Aydonat et al. | Serializability of transactions in software transactional memory | |
WO2002007088A3 (en) | Apparatus and method for diffuse and specular lighting of voxel data | |
CA2262277A1 (en) | A system and method for optimizing program execution in a computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |