Patent ID: 8490112
Filing Date: 2013-07-16
Classification: G06F

Abstract:
1. A parallel computer that selects an algorithm for data communications for a collective operation in a parallel active messaging interface (‘PAMI’) of the parallel computer, the parallel computer comprising a plurality of compute nodes that execute a parallel application, the PAMI comprising data communications endpoints, each endpoint comprising a specification of data communications parameters for a thread of execution on a compute node, including specifications of a client, a context, and a task, the compute nodes and the endpoints coupled for data communications through the PAMI and through data communications resources, the compute nodes comprising computer processors operatively coupled to computer memory having disposed within it computer program instructions that, when executed by the computer processors, cause the parallel computer to function by: associating in the PAMI data communications algorithms and bit masks so that each algorithm is associated with a separate bit mask, each bit in each mask representing the presence or absence of a characteristic of a collective instruction to be executed by use of the algorithm associated with that mask; initializing the PAMI; and partially preconstructing, upon initialing the PAMI, a bit mask for each type of collective instruction; receiving in an origin endpoint of the PAMI a collective instruction, the collective instruction specifying transmission of a data communications message from the origin endpoint to at least one target endpoint; constructing by the origin endpoint a bit mask for the received collective instruction, each bit in the mask representing a characteristic of the received collective instruction, wherein constructing a bit mask for the received collective instruction further comprises constructing the bit mask for the received collective instruction from one of the partially preconstructed bit masks; selecting by the origin endpoint, from the associated data communications algorithms in dependence upon the constructed bit mask, a data communications algorithm for use in executing the received collective instruction; and executing the received collective instruction by the origin endpoint, including transmitting, according to the selected data communications algorithm from the origin endpoint to the target endpoint, the data communications message.