a0d4122606
for dynamic selection of cpc methods based on what is available. It also allows for inclusion/exclusions of methods. It even futher allows for modifying the priorities of certain cpc methods to better determine the optimal cpc method. This patch also contains XRC compile time disablement (per Jeff's patch). At a high level, the cpc selections works by walking through each cpc and allowing it to test to see if it is permissable to run on this mpirun. It returns a priority if it is permissable or a -1 if not. All of the cpc names and priorities are rolled into a string. This string is then encapsulated in a message and passed around all the ompi processes. Once received and unpacked, the list received is compared to a local copy of the list. The connection method is chosen by comparing the lists passed around to all nodes via modex with the list generated locally. Any non-negative number is a potentially valid connection method. The method below of determining the optimal connection method is to take the cross-section of the two lists. The highest single value (and the other side being non-negative) is selected as the cpc method. svn merge -r 16948:17128 https://svn.open-mpi.org/svn/ompi/tmp-public/openib-cpc/ . This commit was SVN r17138.
37 строки
634 B
C
37 строки
634 B
C
/*
|
|
* Copyright (c) 2007 Cisco, Inc. All rights reserved.
|
|
*
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
#ifndef BTL_OPENIB_CONNECT_BASE_H
|
|
#define BTL_OPENIB_CONNECT_BASE_H
|
|
|
|
#include "connect/connect.h"
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
/**
|
|
* Global variable with the selected function pointers in it
|
|
*/
|
|
extern ompi_btl_openib_connect_base_funcs_t ompi_btl_openib_connect;
|
|
|
|
/*
|
|
* Open function
|
|
*/
|
|
int ompi_btl_openib_connect_base_open(void);
|
|
|
|
/*
|
|
* Select function
|
|
*/
|
|
int ompi_btl_openib_connect_base_select(char*, char*);
|
|
int ompi_btl_openib_connect_base_query(char**, mca_btl_openib_hca_t*);
|
|
|
|
END_C_DECLS
|
|
|
|
#endif
|