Patent ID: 8886916

Claim:
A method of endpoint-based parallel data processing with non-blocking collective instructions in a parallel active messaging interface (‘PAMI’) of a 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 endpoints coupled for data communications through the PAMI, the method comprising: establishing by the parallel application a data communications geometry, by: calling, by an application-level entity, a PAMI initialization function configured to establish the geometry by reading the geometry from a PAMI configuration, the geometry specifying, for tasks representing processes of execution of the parallel application, a set of endpoints that are used in collective operations of the PAMI, and associating with the geometry a list of collective algorithms for collective operations valid for use with the endpoints of the geometry read from the PAMI configuration, wherein the list of collective algorithms is dependent upon a nature of underlying data communications resources available to carry out any particular collective operation; registering, by the parallel application in each endpoint in the geometry, a dispatch callback function for each of the collective operations; and executing, by the parallel application without blocking, through a single one of the endpoints in the geometry, an instruction for one of the collective operations, the instruction specifying communications of transfer data among the endpoints of the geometry, an identifier of the dispatch callback function associated with the collective operation, and the collective algorithm, wherein each endpoint of the set of endpoints executes the dispatch callback function identified by the transfer data.