Patent Document ID: 9213619
Application ID: 13796994
Patent Flag: 1

Claim One:
1. An apparatus for algorithm selection for collective operations in a parallel computer comprising a plurality of compute nodes, each compute node configured to execute one or more parallel processes of a parallel application, 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: profiling a plurality of algorithms for each of a set of collective operations, including for each collective operation in the set: executing the collective operation a plurality times with each execution varying one or more of: geometry, message size, data type, and algorithm to effect the collective operation, thereby generating performance metrics for each execution; storing the performance metrics in a performance profile, wherein the performance profile comprises a plurality of entries; at load time of a parallel application including a plurality of parallel processes configured in a particular geometry, filtering the entries of the performance profile in dependence upon the particular geometry; during run-time of the parallel application, selecting, for at least one collective operation, an entry for an algorithm from the filtered entries of the performance profile to effect the collective operation in dependence upon one or more characteristics of the parallel application and the filtered performance profile; executing the collective operation using the selected algorithm; monitoring, during run time, performance metrics of the selected algorithm, wherein monitoring performance metrics of the selected algorithm comprises identifying a failure during execution of the collective operation; and updating the performance profile with the monitored performance metrics, wherein updating the performance profile with the monitored performance metrics comprises removing the selected entry for the algorithm in the performance profile.