发明名称 Parallel execution of a loop
摘要 A method of executing a loop over an integer index range of indices in a parallel manner includes assigning a plurality of index subsets of the integer index range to a corresponding plurality of threads, and defining for each index subset a start point of the index subset, an end point of the index subset, and a boundary point of the index subset positioned between the start point and the end point of the index subset. A portion of the index subset between the start point and the boundary point represents a private range and the portion of the index subset between the boundary point and the end point represents a public range. Loop code is executed by each thread based on the index subset of the integer index range assigned to the thread.
申请公布号 US8799629(B2) 申请公布日期 2014.08.05
申请号 US200812328262 申请日期 2008.12.04
申请人 Microsoft Corporation 发明人 Yildiz Huseyin S.;Toub Stephen S.;Ringseth Paul;Duffy John
分类号 G06F9/30;G06F9/50 主分类号 G06F9/30
代理机构 代理人 Sullivan Kevin;Haslam Brian;Minhas Micky
主权项 1. A method of executing a loop over an integer index range of indices in a parallel manner, comprising: assigning a plurality of index subsets of the integer index range to a corresponding plurality of threads; defining for each index subset a start point of the index subset, an end point of the index subset, and a boundary point of the index subset positioned between the start point and the end point of the index subset, a portion of the index subset between the start point and the boundary point represents a private range and the portion of the subset between the boundary point and the end point represents a public range, each private range being executable by the thread to which it is assigned without synchronization with other threads of the plurality of threads and each public range being accessible by the plurality of threads; and executing loop code with each thread based on the index subset of the integer index range assigned to the thread.
地址 Redmond WA US