发明名称 Executing a gather operation on a parallel computer that includes a plurality of compute nodes
摘要 Executing a gather operation on a parallel computer that includes a plurality of compute nodes, including: dividing, by each task in an operational group of tasks, a send buffer containing contribution data into a plurality of chunks of data, each chunk of data located at an offset within the send buffer; sending, by each task in the operational group of tasks, one chunk of data to a root task through a data communications thread for each chunk of data; receiving the chunks of data by the root task; and storing, by the root task, each chunk of data in a receive buffer of the root task in dependence upon the offset of each chunk of data within the send buffer.
申请公布号 US9164792(B2) 申请公布日期 2015.10.20
申请号 US201414148383 申请日期 2014.01.06
申请人 International Business Machines Corporation 发明人 Archer Charles J.;Blocksome Michael A.;Carey James E.;Sanders Philip J.
分类号 G06F9/54;G06F9/46 主分类号 G06F9/54
代理机构 Kennedy Lenart Spraggins LLP 代理人 Lenart Edward J.;Nock James R.;Kennedy Lenart Spraggins LLP
主权项 1. An apparatus for executing a gather operation on a parallel computer that includes a plurality of compute nodes, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: dividing, by each task in an operational group of tasks of a compute node, a send buffer containing contribution data into a plurality of chunks of data, each chunk of data located at an offset within the send buffer; sending, by each task in the operational group of tasks, one chunk of data to a root task through a data communications thread for each chunk of data including instantiating a separate data communication thread for each chunk of data, wherein each chunk of data is sent in parallel from the compute node to the root task; receiving the chunks of data by the root task; and storing, by the root task, each chunk of data in a receive buffer of the root task in dependence upon the offset of each chunk of data within the send buffer; wherein dividing the send buffer containing contribution data into a plurality of chunks of data further comprises dividing the send buffer into the plurality of chunks of data in dependence upon a predetermined data type.
地址 Armonk NY US