Establishing a group of endpoints in a parallel computer
First Claim
1. An apparatus for establishing a group of endpoints configured to support collective operations in a parallel computer, the parallel computer comprising a plurality of compute nodes coupled for data communications in a point-to-point multi-dimensional data communications network, wherein each compute node executes one or more processes for execution of a parallel application, the apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
- receiving a user specification of a set of endpoints included in a global collection of endpoints,wherein each endpoint is a data communications process executing within the one or more processes that supports communications among other endpoints, each endpoint is a rank in the message passing interface (MPI), and the global collection of endpoints includes all available endpoints,the user specification defining the set of endpoints in accordance with a predefined virtual representation of the endpoints,wherein the predefined virtual representation of the endpoints comprises a data structure setting forth an organization of processes and endpoints included in the global collection of endpoints,wherein the data structure comprises a table of columns and rows, each column specifying a process, each field of the column specifying an endpoint for the process, and each row specifying an endpoint of all processes,wherein the user specification defines the set of endpoints in relation to the data structure of the predefined virtual representation and without specifying a unique identifier for any particular endpoint in the set of endpoints, andwherein the user specification comprises a specification of all endpoints included in a column stride, the column stride comprising endpoints of a process included in alternating columns;
defining, as an operational group, a group of endpoints in dependence upon the predefined virtual representation of the endpoints and the user specification; and
executing one or more collective operations using the operational group defined by the group of endpoints.
2 Assignments
0 Petitions
Accused Products
Abstract
A parallel computer executes a number of tasks, each task includes a number of endpoints and the endpoints are configured to support collective operations. In such a parallel computer, establishing a group of endpoints receiving a user specification of a set of endpoints included in a global collection of endpoints, where the user specification defines the set in accordance with a predefined virtual representation of the endpoints, the predefined virtual representation is a data structure setting forth an organization of tasks and endpoints included in the global collection of endpoints and the user specification defines the set of endpoints without a user specification of a particular endpoint; and defining a group of endpoints in dependence upon the predefined virtual representation of the endpoints and the user specification.
-
Citations
13 Claims
-
1. An apparatus for establishing a group of endpoints configured to support collective operations in a parallel computer, the parallel computer comprising a plurality of compute nodes coupled for data communications in a point-to-point multi-dimensional data communications network, wherein each compute node executes one or more processes for execution of a parallel application, the apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
-
receiving a user specification of a set of endpoints included in a global collection of endpoints, wherein each endpoint is a data communications process executing within the one or more processes that supports communications among other endpoints, each endpoint is a rank in the message passing interface (MPI), and the global collection of endpoints includes all available endpoints, the user specification defining the set of endpoints in accordance with a predefined virtual representation of the endpoints, wherein the predefined virtual representation of the endpoints comprises a data structure setting forth an organization of processes and endpoints included in the global collection of endpoints, wherein the data structure comprises a table of columns and rows, each column specifying a process, each field of the column specifying an endpoint for the process, and each row specifying an endpoint of all processes, wherein the user specification defines the set of endpoints in relation to the data structure of the predefined virtual representation and without specifying a unique identifier for any particular endpoint in the set of endpoints, and wherein the user specification comprises a specification of all endpoints included in a column stride, the column stride comprising endpoints of a process included in alternating columns; defining, as an operational group, a group of endpoints in dependence upon the predefined virtual representation of the endpoints and the user specification; and executing one or more collective operations using the operational group defined by the group of endpoints. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product for establishing a group of endpoints configured to support collective operations in a parallel computer, the parallel computer comprising a plurality of compute nodes coupled for data communications in a point-to-point multi-dimensional data communications network, wherein each compute node executes an endpoint, the computer program product disposed upon a computer readable medium, wherein the computer readable medium is not a signal, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
-
receiving a user specification of a set of endpoints included in a global collection of endpoints, wherein each endpoint is a data communications process executing within the one or more processes that supports communications among other endpoints, each endpoint is a rank in the message passing interface (MPI), and the global collection of endpoints includes all available endpoints, the user specification defining the set of endpoints in accordance with a predefined virtual representation of the endpoints, wherein the predefined virtual representation of the endpoints comprises a data structure setting forth an organization of processes and endpoints included in the global collection of endpoints, wherein the data structure comprises a table of columns and rows, each column specifying a process, each field of the column specifying an endpoint for the process, and each row specifying an endpoint of all processes, wherein the user specification defines the set of endpoints in relation to the data structure of the predefined virtual representation and without specifying a unique identifier for any particular endpoint in the set of endpoints, and wherein the user specification comprises a specification of all endpoints included in a column stride, the column stride comprising endpoints of a process included in alternating columns; defining, as an operational group, a group of endpoints in dependence upon the predefined virtual representation of the endpoints and the user specification; and executing one or more collective operations using the operational group defined by the group of endpoints. - View Dependent Claims (9, 10, 11, 12, 13)
-
Specification