More heterogeneous fixes. Don't set reachability bit on a remote proc
if the remote architecture differs from the local architecture and the btl doesn't support heterogeneous transport. Refs trac:587 This commit was SVN r12879. The following Trac tickets were found above: Ticket 587 --> https://svn.open-mpi.org/trac/ompi/ticket/587
Этот коммит содержится в:
родитель
190e7a27cd
Коммит
b448b4e47e
@ -87,6 +87,11 @@ int mca_btl_mvapi_add_procs(
|
|||||||
mca_btl_mvapi_proc_t* ib_proc;
|
mca_btl_mvapi_proc_t* ib_proc;
|
||||||
mca_btl_base_endpoint_t* ib_peer;
|
mca_btl_base_endpoint_t* ib_peer;
|
||||||
|
|
||||||
|
/* mvapi doesn't support heterogeneous yet... */
|
||||||
|
if (ompi_proc_local()->proc_arch != ompi_proc->proc_arch) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if(NULL == (ib_proc = mca_btl_mvapi_proc_create(ompi_proc))) {
|
if(NULL == (ib_proc = mca_btl_mvapi_proc_create(ompi_proc))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -108,6 +108,11 @@ mca_btl_portals_add_procs(struct mca_btl_base_module_t* btl_base,
|
|||||||
for (i= 0; i < nprocs ; ++i) {
|
for (i= 0; i < nprocs ; ++i) {
|
||||||
curr_proc = procs[i];
|
curr_proc = procs[i];
|
||||||
|
|
||||||
|
/* portals doesn't support heterogeneous yet... */
|
||||||
|
if (ompi_proc_local()->proc_arch != curr_proc->proc_arch) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
peers[i] = malloc(sizeof(mca_btl_base_endpoint_t));
|
peers[i] = malloc(sizeof(mca_btl_base_endpoint_t));
|
||||||
if (NULL == peers[i]) return OMPI_ERROR;
|
if (NULL == peers[i]) return OMPI_ERROR;
|
||||||
*((mca_btl_base_endpoint_t*) peers[i]) = portals_procs[i];
|
*((mca_btl_base_endpoint_t*) peers[i]) = portals_procs[i];
|
||||||
|
@ -81,6 +81,14 @@ int mca_btl_template_add_procs(
|
|||||||
mca_btl_template_proc_t* template_proc;
|
mca_btl_template_proc_t* template_proc;
|
||||||
mca_btl_base_endpoint_t* template_endpoint;
|
mca_btl_base_endpoint_t* template_endpoint;
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* If the BTL doesn't support heterogeneous operations, be
|
||||||
|
sure to say we can't reach that proc */
|
||||||
|
if (ompi_proc_local()->proc_arch != ompi_proc->proc_arch) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if(NULL == (template_proc = mca_btl_template_proc_create(ompi_proc))) {
|
if(NULL == (template_proc = mca_btl_template_proc_create(ompi_proc))) {
|
||||||
return OMPI_ERR_OUT_OF_RESOURCE;
|
return OMPI_ERR_OUT_OF_RESOURCE;
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user