(12) United States Patent ao) Patent No.: Us 7,069,556 B2
Shah et al. (45) Date of Patent: Jun. 27,2006
(54) METHOD AND APPARATUS FOR
IMPLEMENTING A PARALLEL
CONSTRUCT COMPRISED OF A SINGLE
(75) Inventors: Sanjiv M. Shah, Champaign, IL (US);
Paul M. Petersen, Champaign, IL (US)
(73) Assignee: Intel Corporation, Santa Clara, CA (US)
( * ) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 U.S.C. 154(b) by 843 days.
(21) Appl. No.: 09/964,950
2002/0062478 Al* 5/2002 Ishikawa et al 717/149
2002/0078125 Al* 6/2002 Ichinose et al 709/107
2002/0087813 Al* 7/2002 Harris et al 711/148
2003/0066056 Al* 4/2003 Petersen et al 717/137
FOREIGN PATENT DOCUMENTS
EP 400328 Al * 12/1990
IBM Technical Disclosure Bulletin. "Synchronization Constructs for Parallel Fortran." Feb. 1, 1987.*
Primary Examiner—Lewis A. Bullock, Jr.
(74) Attorney, Agent, or Firm—Blakely, Sokoloff, Taylor &
A method and apparatus for implementing a parallel construct comprised of a single task is described. A method comprises receiving a first code segment, the first code segment having a set of instances of a parallel construct, each of the set of instances of the parallel construct comprised of a task, and translating the first code segment to a second code segment, the second code segment, when being executed to perform operations comprising: allocating a shared value, the shared value to indicate a most current one of the set of instances encountered by one of a team of threads, allocating a private value for each of the team of threads, the private value to indicate one of the set of instances encountered by the private value's corresponding thread of the team of threads, maintaining the shared value with the team of threads, and maintaining the private value of each of the team of threads with the private value's corresponding thread of the team of threads.
12 Claims, 7 Drawing Sheets