@@ -299,7 +299,8 @@ int shmem_internal_team_split_strided(shmem_internal_team_t *parent_team, int PE
299
299
}
300
300
301
301
int global_PE_start = shmem_internal_team_pe (parent_team , PE_start );
302
- int global_PE_end = global_PE_start + PE_stride * (PE_size - 1 );
302
+ int global_PE_stride = parent_team -> stride * PE_stride ;
303
+ int global_PE_end = global_PE_start + global_PE_stride * (PE_size - 1 );
303
304
304
305
if (PE_start < 0 || PE_start >= parent_team -> size ||
305
306
PE_size <= 0 || PE_size > parent_team -> size ||
@@ -318,7 +319,7 @@ int shmem_internal_team_split_strided(shmem_internal_team_t *parent_team, int PE
318
319
}
319
320
320
321
int my_pe = shmem_internal_pe_in_active_set (shmem_internal_my_pe ,
321
- global_PE_start , PE_stride , PE_size );
322
+ global_PE_start , global_PE_stride , PE_size );
322
323
323
324
long * psync = shmem_internal_team_choose_psync (parent_team , REDUCE );
324
325
shmem_internal_team_t * myteam = NULL ;
@@ -332,7 +333,7 @@ int shmem_internal_team_split_strided(shmem_internal_team_t *parent_team, int PE
332
333
333
334
myteam -> my_pe = my_pe ;
334
335
myteam -> start = global_PE_start ;
335
- myteam -> stride = (PE_stride == 0 || PE_size == 1 ) ? 1 : PE_stride ;
336
+ myteam -> stride = (PE_stride == 0 || PE_size == 1 ) ? 1 : global_PE_stride ;
336
337
myteam -> size = PE_size ;
337
338
338
339
if (config_mask == 0 ) {
@@ -362,7 +363,7 @@ int shmem_internal_team_split_strided(shmem_internal_team_t *parent_team, int PE
362
363
363
364
shmem_internal_op_to_all (psync_pool_avail_reduced ,
364
365
psync_pool_avail , N_PSYNC_BYTES , 1 ,
365
- myteam -> start , PE_stride , PE_size , NULL ,
366
+ myteam -> start , global_PE_stride , PE_size , NULL ,
366
367
psync , SHM_INTERNAL_BAND , SHM_INTERNAL_UCHAR );
367
368
368
369
/* We cannot release the psync here, because this reduction may not
0 commit comments