Fixes trac:4143
After IM with Nathan, apply patch from ticket after verification by Paul Hargrove that it fixes the problem on non-x86 32-bit platforms Verified by Paul, RM-approved cmr=v1.7.4:reviewer=ompi-gk1.7 This commit was SVN r30411. The following Trac tickets were found above: Ticket 4143 --> https://svn.open-mpi.org/trac/ompi/ticket/4143
Этот коммит содержится в:
родитель
c6c10f47b8
Коммит
b32556e6dc
@ -1,6 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved.
|
* Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved.
|
||||||
* Copyright (c) 2009-2012 Mellanox Technologies. All rights reserved.
|
* Copyright (c) 2009-2012 Mellanox Technologies. All rights reserved.
|
||||||
|
* Copyright (c) 2014 Los Alamos National Security, LLC. All rights
|
||||||
|
* reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -23,7 +25,7 @@
|
|||||||
int bcol_basesmuma_progress(void)
|
int bcol_basesmuma_progress(void)
|
||||||
{
|
{
|
||||||
/* local variables */
|
/* local variables */
|
||||||
volatile int64_t *cntr;
|
volatile int32_t *cntr;
|
||||||
mca_bcol_basesmuma_component_t *cs = &mca_bcol_basesmuma_component;
|
mca_bcol_basesmuma_component_t *cs = &mca_bcol_basesmuma_component;
|
||||||
|
|
||||||
/* check to see if release of memory blocks needs to be done */
|
/* check to see if release of memory blocks needs to be done */
|
||||||
@ -54,12 +56,12 @@ int bcol_basesmuma_progress(void)
|
|||||||
ctl_buffs_mgmt[index].bank_gen_counter);
|
ctl_buffs_mgmt[index].bank_gen_counter);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
cntr= (volatile int64_t *) &(item_ptr->coll_buff->
|
cntr= (volatile int32_t *) &(item_ptr->coll_buff->
|
||||||
ctl_buffs_mgmt[index].bank_gen_counter);
|
ctl_buffs_mgmt[index].bank_gen_counter);
|
||||||
item_ptr=(sm_nbbar_desc_t*)opal_list_remove_item((opal_list_t *)list,
|
item_ptr=(sm_nbbar_desc_t*)opal_list_remove_item((opal_list_t *)list,
|
||||||
( opal_list_item_t *)item_ptr);
|
( opal_list_item_t *)item_ptr);
|
||||||
/* increment the generation number */
|
/* increment the generation number */
|
||||||
OPAL_THREAD_ADD64(cntr,1);
|
OPAL_THREAD_ADD32(cntr,1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -401,7 +401,7 @@ struct mca_coll_ml_descriptor_t {
|
|||||||
ompi_request_t super; /*base request*/
|
ompi_request_t super; /*base request*/
|
||||||
struct ompi_datatype_t *datatype; /*ompi datatype*/
|
struct ompi_datatype_t *datatype; /*ompi datatype*/
|
||||||
size_t count; /*count of user datatype elements*/
|
size_t count; /*count of user datatype elements*/
|
||||||
uint64_t sequence_num; /*sequence number for collective operation*/
|
uint32_t sequence_num; /*sequence number for collective operation*/
|
||||||
size_t frags_limit; /*upper limit on # of fragments*/
|
size_t frags_limit; /*upper limit on # of fragments*/
|
||||||
size_t frags_start; /*number of fragments started*/
|
size_t frags_start; /*number of fragments started*/
|
||||||
|
|
||||||
@ -679,10 +679,10 @@ struct mca_coll_ml_module_t {
|
|||||||
int max_fn_calls;
|
int max_fn_calls;
|
||||||
|
|
||||||
/* collective sequence number - unique id for barrier type operations */
|
/* collective sequence number - unique id for barrier type operations */
|
||||||
int64_t no_data_collective_sequence_num;
|
int32_t no_data_collective_sequence_num;
|
||||||
|
|
||||||
/* collective sequence number - unique id for each collective */
|
/* collective sequence number - unique id for each collective */
|
||||||
int64_t collective_sequence_num;
|
int32_t collective_sequence_num;
|
||||||
|
|
||||||
/** ompi free list of full message descriptors **/
|
/** ompi free list of full message descriptors **/
|
||||||
ompi_free_list_t message_descriptors;
|
ompi_free_list_t message_descriptors;
|
||||||
@ -994,7 +994,7 @@ void mca_coll_ml_abort_ml(char *message);
|
|||||||
s_offset, r_offset, frag_len, buf) \
|
s_offset, r_offset, frag_len, buf) \
|
||||||
do { \
|
do { \
|
||||||
op->variable_fn_params.sequence_num = \
|
op->variable_fn_params.sequence_num = \
|
||||||
OPAL_THREAD_ADD64(&((ml)->collective_sequence_num), 1); \
|
OPAL_THREAD_ADD32(&((ml)->collective_sequence_num), 1); \
|
||||||
op->variable_fn_params.count = cnt; \
|
op->variable_fn_params.count = cnt; \
|
||||||
op->variable_fn_params.dtype = datatype; \
|
op->variable_fn_params.dtype = datatype; \
|
||||||
op->variable_fn_params.buffer_index = (b_desc)->buffer_index; \
|
op->variable_fn_params.buffer_index = (b_desc)->buffer_index; \
|
||||||
|
@ -65,7 +65,7 @@ static int mca_coll_ml_barrier_launch(mca_coll_ml_module_t *ml_module,
|
|||||||
coll_op->variable_fn_params.buffer_index = src_buffer_desc->buffer_index;
|
coll_op->variable_fn_params.buffer_index = src_buffer_desc->buffer_index;
|
||||||
|
|
||||||
coll_op->variable_fn_params.sequence_num =
|
coll_op->variable_fn_params.sequence_num =
|
||||||
OPAL_THREAD_ADD64(&(ml_module->collective_sequence_num), 1);
|
OPAL_THREAD_ADD32(&(ml_module->collective_sequence_num), 1);
|
||||||
|
|
||||||
/* Pointer to a coll finalize function */
|
/* Pointer to a coll finalize function */
|
||||||
coll_op->process_fn = NULL;
|
coll_op->process_fn = NULL;
|
||||||
|
@ -773,7 +773,7 @@ int mca_coll_ml_bcast_sequential_root(void *buf, int count, struct ompi_datatype
|
|||||||
|
|
||||||
/* Fill in the function arguments */
|
/* Fill in the function arguments */
|
||||||
coll_op->variable_fn_params.sequence_num =
|
coll_op->variable_fn_params.sequence_num =
|
||||||
OPAL_THREAD_ADD64(&(ml_module->collective_sequence_num), 1);
|
OPAL_THREAD_ADD32(&(ml_module->collective_sequence_num), 1);
|
||||||
coll_op->variable_fn_params.count = count;
|
coll_op->variable_fn_params.count = count;
|
||||||
coll_op->variable_fn_params.dtype = dtype;
|
coll_op->variable_fn_params.dtype = dtype;
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user