-
公开(公告)号:CA2680597A1
公开(公告)日:2009-12-23
申请号:CA2680597
申请日:2009-10-16
Applicant: IBM CANADA
Inventor: ARCHAMBAULT ROCH G , CHEN TONG , GAO YAOQING , SURA ZEHRA , SILVERA RAUL E , MOHAMMED KHALED , PEKHIMENKO GENNADY , O'BRIEN JOHN K
Abstract: An illustrative embodiment provides a computer-implemented process for managing speculative assist threads for data pre-fetching that analyzes collected source code and cache profiling information to identify a code region containing a delinquent load instruction and generates an assist thread, including a value for a local version number, at a program entry point within the identified code region. Upon activation of the assist thread the local version number of the assist thread is compared to the global unique version number of the main thread for the identified code region and an iteration distance between the assist thread relative to the main thread is compared to a predefined value. The assist thread is executed when the local version number of the assist thread matches the global unique version number of the main thread, and the iteration distance between the assist thread relative to the main thread is within a predefined range of values.
-
公开(公告)号:CA2447443A1
公开(公告)日:2005-04-29
申请号:CA2447443
申请日:2003-10-29
Applicant: IBM CANADA
Inventor: CUI SHIMIN , ARCHAMBAULT ROCH G
IPC: G06F9/45
Abstract: Disclosed is an interprocedural compilation technique for moving upward exposed expressions across procedure boundaries to potentially improve performance i n the execution of compiled software program code. Intermediate representations of a software program, including a call graph, a control flow graph, a data flow graph and a post-dominate tree, may be generated and used. In an embodiment, a software program compiler may be configured to carry out a depth-first traversal of each procedure in the software program, as represented by nodes in a call graph intermediate representation of the software program. Candidate upward exposed expressions are identified in callee procedures, and selected for possible interprocedural code motion. In an embodiment, a procedure interface descriptor is built for each callee procedure by defining a new formal parameter for each upward exposed expression moved, replacing each upward exposed expression with the new formal parameter, and identifying any dead parameters resulting from removal of the upward exposed expression.
-
公开(公告)号:CA2442803A1
公开(公告)日:2005-03-26
申请号:CA2442803
申请日:2003-09-26
Applicant: IBM CANADA
Inventor: SILVERA RAUL E , ZHANG GUANSONG , ARCHAMBAULT ROCH G
Abstract: A data processing system is adapted to execute at least one workshare construct in a parallel region. The data processing system uses at least one thread for executing a corresponding subsection of the workshare construct and provides control blocks for managi ng corresponding workshare constructs in the parallel region. A method of managing the contro l blocks comprises: adding an array of control blocks to a control block queue; assigning control blocks in the initialized array to corresponding workshare constructs in the parall el region until a barrier is reached; and waiting at the barrier for all threads in the parallel regio n to complete their corresponding subsections and then resetting the control block to the beginning of the control block queue. Also provided are a computer program product and a data processing system for implementing the method.
-
公开(公告)号:CA2684441C
公开(公告)日:2012-06-05
申请号:CA2684441
申请日:2009-09-22
Applicant: IBM CANADA
Inventor: ARCHAMBAULT ROCH G , CUI SHIMIN , GAO YAOQING
IPC: G06F9/44
Abstract: An illustrative embodiment provides a computer-implemented process for may--constant propagation, obtains a source code, and generates a set of associated data structures from the source code and a set of may-constant data structures. The computer--implemented process identifies a candidate code for may-constant propagation to form an identified candidate code, updates the set of may-constant data structures, and selects an identified candidate code using information in the may-constant data structures, including probability, to form a selected candidate code. The computer-implemented process further identifies a code region associated with the selected candidate code to form an identified code region and modifies the identified code region including the selected candidate code.
-
公开(公告)号:CA2680597C
公开(公告)日:2011-06-07
申请号:CA2680597
申请日:2009-10-16
Applicant: IBM CANADA
Inventor: ARCHAMBAULT ROCH G , CHEN TONG , GAO YAOQING , MOHAMMED KHALED , O'BRIEN JOHN K , PEKHIMENKO GENNADY , SILVERA RAUL E , SURA ZEHRA
Abstract: An illustrative embodiment provides a computer-implemented process for managing speculative assist threads for data pre-fetching that analyzes collected source code and cache profiling information to identify a code region containing a delinquent load instruction and generates an assist thread, including a value for a local version number, at a program entry point within the identified code region. Upon activation of the assist thread the local version number of the assist thread is compared to the global unique version number of the main thread for the identified code region and an iteration distance between the assist thread relative to the main thread is compared to a predefined value. The assist thread is executed when the local version number of the assist thread matches the global unique version number of the main thread, and the iteration distance between the assist thread relative to the main thread is within a predefined range of values.
-
公开(公告)号:CA2684441A1
公开(公告)日:2010-02-04
申请号:CA2684441
申请日:2009-09-22
Applicant: IBM CANADA
Inventor: CUI SHIMIN , ARCHAMBAULT ROCH G , GAO YAOQING
IPC: G06F9/44
Abstract: An illustrative embodiment provides a computer-implemented process for may--constant propagation, obtains a source code, and generates a set of associated data structures from the source code and a set of may-constant data structures. T he computer--implemented process identifies a candidate code for may-constant propagation to form an identified candidate code, updates the set of may-constant data structures, and selects an identified candidate code using information in the may-constant data structures, including probability, to form a selected candidate code. The computer-implemented process further identifies a code region associated with the selected candidate code to form an identified code region and modifies the identified code region including the selected candidate code.
-
公开(公告)号:CA2453685A1
公开(公告)日:2005-06-17
申请号:CA2453685
申请日:2003-12-17
Applicant: IBM CANADA
Inventor: VEZOLLE PASCAL , WHITE STEVEN W , ARCHAMBAULT ROCH G , O'CONNELL FRANCIS P , GAO YAOQING , MCCALPIN JOHN D , BLAINEY ROBERT J
Abstract: A method and system of modifying instructions forming a loop is provided. A method of modifying instructions forming a loop includes modifying instructions formin g a loop including: determining static and dynamic characteristics for the instructions; selecti ng a modification factor for the instructions based on a number of separate equivalent sections formi ng a cache in a processor which is processing the instructions; and modifying the instructio ns to interleave the instructions in the loop according to the modification factor and the static and dynamic characteristics when the instructions satisfy a modification criteria based on the static and dynamic characteristics.
-
-
-
-
-
-