Minor indent cleanup in init_query()
Only use Portals on communicators with more than one rank Fix computation of number of children when using the hypercube tree This commit was SVN r29616.
Этот коммит содержится в:
родитель
c356bdeeae
Коммит
cf8de1ef0f
@ -101,7 +101,7 @@ static inline int
|
|||||||
ompi_coll_portals4_get_nchildren(int cube_dim, int hibit, int rank, int size)
|
ompi_coll_portals4_get_nchildren(int cube_dim, int hibit, int rank, int size)
|
||||||
{
|
{
|
||||||
int guess = cube_dim - (hibit + 1);
|
int guess = cube_dim - (hibit + 1);
|
||||||
if ((rank | (1 << cube_dim)) >= size) guess--;
|
if ((rank | (1 << (cube_dim - 1))) >= size) guess--;
|
||||||
if (guess < 0) return 0;
|
if (guess < 0) return 0;
|
||||||
return guess;
|
return guess;
|
||||||
}
|
}
|
||||||
|
@ -341,21 +341,21 @@ portals4_init_query(bool enable_progress_threads,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
md.start = 0;
|
md.start = 0;
|
||||||
md.length = PTL_SIZE_MAX;
|
md.length = PTL_SIZE_MAX;
|
||||||
md.options = 0;
|
md.options = 0;
|
||||||
md.eq_handle = PTL_EQ_NONE;
|
md.eq_handle = PTL_EQ_NONE;
|
||||||
md.ct_handle = PTL_CT_NONE;
|
md.ct_handle = PTL_CT_NONE;
|
||||||
|
|
||||||
ret = PtlMDBind(mca_coll_portals4_component.ni_h,
|
ret = PtlMDBind(mca_coll_portals4_component.ni_h,
|
||||||
&md,
|
&md,
|
||||||
&mca_coll_portals4_component.md_h);
|
&mca_coll_portals4_component.md_h);
|
||||||
if (PTL_OK != ret) {
|
if (PTL_OK != ret) {
|
||||||
opal_output_verbose(1, ompi_coll_base_framework.framework_output,
|
opal_output_verbose(1, ompi_coll_base_framework.framework_output,
|
||||||
"%s:%d: PtlMDBind failed: %d\n",
|
"%s:%d: PtlMDBind failed: %d\n",
|
||||||
__FILE__, __LINE__, ret);
|
__FILE__, __LINE__, ret);
|
||||||
return OMPI_ERROR;
|
return OMPI_ERROR;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* setup finish ack ME */
|
/* setup finish ack ME */
|
||||||
@ -434,8 +434,10 @@ portals4_comm_query(struct ompi_communicator_t *comm,
|
|||||||
{
|
{
|
||||||
mca_coll_portals4_module_t *portals4_module;
|
mca_coll_portals4_module_t *portals4_module;
|
||||||
|
|
||||||
/* For now, we don't support intercommunicators */
|
/* For now, we don't support intercommunicators and we probably
|
||||||
if (OMPI_COMM_IS_INTER(comm)) {
|
never should handle the single proc case, since there's the
|
||||||
|
self module... */
|
||||||
|
if (OMPI_COMM_IS_INTER(comm) || ompi_comm_size(comm) < 2) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user