1
1

Enable MX wireup in heterogeneous situations.

Refs trac:587

This commit was SVN r13095.

The following Trac tickets were found above:
  Ticket 587 --> https://svn.open-mpi.org/trac/ompi/ticket/587
Этот коммит содержится в:
Brian Barrett 2007-01-12 15:44:58 +00:00
родитель ed097d17c1
Коммит 075161afa9
3 изменённых файлов: 27 добавлений и 1 удалений

Просмотреть файл

@ -471,6 +471,10 @@ mca_btl_base_module_t** mca_btl_mx_component_init(int *num_btl_modules,
OBJ_RELEASE( btl );
continue;
}
#if OMPI_ENABLE_HETEROGENEOUS_SUPPORT
BTL_MX_ADDR_HTON(mx_addrs[i]);
#endif
mca_btl_mx_component.mx_btls[count++] = btl;
}
size = sizeof(mca_btl_mx_addr_t) * count;

Просмотреть файл

@ -43,9 +43,25 @@ extern "C" {
struct mca_btl_mx_addr_t {
uint64_t nic_id;
uint32_t endpoint_id;
#if OMPI_ENABLE_HETEROGENEOUS_SUPPORT
uint8_t padding[4];
#endif
};
typedef struct mca_btl_mx_addr_t mca_btl_mx_addr_t;
#define BTL_MX_ADDR_HTON(h) \
do { \
h.nic_id = hton64(h.nic_id); \
h.endpoint_id = htonl(h.endpoint_id); \
} while (0)
#define BTL_MX_ADDR_NTOH(h) \
do { \
h.nic_id = ntoh64(h.nic_id); \
h.endpoint_id = ntohl(h.endpoint_id); \
} while (0)
/**
* An abstraction that represents a connection to a endpoint process.
* An instance of mca_btl_base_endpoint_t is associated w/ each process

Просмотреть файл

@ -136,7 +136,7 @@ int mca_btl_mx_proc_insert( mca_btl_mx_proc_t* module_proc,
{
mca_btl_mx_addr_t *mx_peers;
int rc;
size_t size;
size_t size, i;
/* query for the peer address info */
rc = mca_pml_base_modex_recv( &mca_btl_mx_component.super.btl_version,
@ -159,6 +159,12 @@ int mca_btl_mx_proc_insert( mca_btl_mx_proc_t* module_proc,
return OMPI_ERROR;
}
#if OMPI_ENABLE_HETEROGENEOUS_SUPPORT
for (i = 0 ; i < module_proc->mx_peers_count ; ++i) {
BTL_MX_ADDR_NTOH(mx_peers[i]);
}
#endif
module_proc->mx_peers = mx_peers;
if( NULL == module_proc->proc_endpoints ) {