Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 7 additions & 15 deletions ompi/mca/fcoll/static/fcoll_static_file_read_all.c
Original file line number Diff line number Diff line change
Expand Up @@ -244,40 +244,33 @@ mca_fcoll_static_file_read_all (mca_io_ompio_file_t *fh,
goto exit;
}

bytes_remaining = (int *) malloc (fh->f_procs_per_group * sizeof(int));
bytes_remaining = (int *) calloc (fh->f_procs_per_group, sizeof(int));
if (NULL == bytes_remaining){
opal_output (1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE;
goto exit;
}

current_index = (int *) malloc (fh->f_procs_per_group * sizeof(int));
current_index = (int *) calloc (fh->f_procs_per_group, sizeof(int));
if (NULL == current_index){
opal_output (1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE;
goto exit;
}

blocklen_per_process = (int **)malloc (fh->f_procs_per_group * sizeof (int*));
blocklen_per_process = (int **)calloc (fh->f_procs_per_group, sizeof (int*));
if (NULL == blocklen_per_process) {
opal_output (1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE;
goto exit;
}

displs_per_process = (MPI_Aint **)malloc (fh->f_procs_per_group * sizeof (MPI_Aint*));
displs_per_process = (MPI_Aint **)calloc (fh->f_procs_per_group, sizeof (MPI_Aint*));
if (NULL == displs_per_process) {
opal_output (1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE;
goto exit;
}

for(i=0;i<fh->f_procs_per_group;i++){
current_index[i] = 0;
bytes_remaining[i] = 0;
blocklen_per_process[i] = NULL;
displs_per_process[i] = NULL;
}
}


Expand Down Expand Up @@ -646,8 +639,8 @@ mca_fcoll_static_file_read_all (mca_io_ompio_file_t *fh,
global_iov_count,
sorted);
if (current_index[i] == -1){
bytes_per_process = 0; /* no more entries left
to service this request*/
bytes_per_process[i] = 0; /* no more entries left
to service this request*/
continue;
}
}
Expand Down Expand Up @@ -960,9 +953,8 @@ mca_fcoll_static_file_read_all (mca_io_ompio_file_t *fh,
if (my_aggregator == fh->f_rank) {

for(l=0;l<fh->f_procs_per_group;l++){
if (NULL != blocklen_per_process[l]){
if (blocklen_per_process) {
free(blocklen_per_process[l]);
blocklen_per_process[l] = NULL;
}
if (NULL != displs_per_process[l]){
free(displs_per_process[l]);
Expand Down
12 changes: 3 additions & 9 deletions ompi/mca/fcoll/two_phase/fcoll_two_phase_file_read_all.c
Original file line number Diff line number Diff line change
Expand Up @@ -277,15 +277,9 @@ mca_fcoll_two_phase_file_read_all (mca_io_ompio_file_t *fh,
}
}
flat_buf->count = local_size;
i=0;j=0;
while(j < local_size){
flat_buf->indices[j] = (OMPI_MPI_OFFSET_TYPE)(intptr_t)decoded_iov[i].iov_base;
flat_buf->blocklens[j] = decoded_iov[i].iov_len;

if(i < (int)iov_count)
i+=1;

j+=1;
for (j = 0 ; j < local_size ; ++j) {
flat_buf->indices[j] = (OMPI_MPI_OFFSET_TYPE)(intptr_t)decoded_iov[j].iov_base;
flat_buf->blocklens[j] = decoded_iov[j].iov_len;
}

#if DEBUG
Expand Down
35 changes: 21 additions & 14 deletions ompi/mca/fcoll/two_phase/fcoll_two_phase_file_write_all.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* Copyright (c) 2008-2014 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* Copyright (c) 2015-2016 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
Expand Down Expand Up @@ -194,6 +194,10 @@ mca_fcoll_two_phase_file_write_all (mca_io_ompio_file_t *fh,
if ( 0 < iov_count ) {
decoded_iov = (struct iovec *)malloc
(iov_count * sizeof(struct iovec));
if (NULL == decoded_iov) {
ret = OMPI_ERR_OUT_OF_RESOURCE;
goto exit;
}
}
for (ti = 0; ti < iov_count; ti ++){
decoded_iov[ti].iov_base = (IOVBASE_TYPE *)(
Expand Down Expand Up @@ -320,19 +324,15 @@ mca_fcoll_two_phase_file_write_all (mca_io_ompio_file_t *fh,
}
}
flat_buf->count = local_size;
i=0;j=0;
while(j < local_size){
for (j = 0 ; j < local_size ; ++j) {
if ( 0 < max_data ) {
flat_buf->indices[j] = (OMPI_MPI_OFFSET_TYPE)(intptr_t)decoded_iov[i].iov_base;
flat_buf->blocklens[j] = decoded_iov[i].iov_len;
flat_buf->indices[j] = (OMPI_MPI_OFFSET_TYPE)(intptr_t)decoded_iov[j].iov_base;
flat_buf->blocklens[j] = decoded_iov[j].iov_len;
}
else {
flat_buf->indices[j] = 0;
flat_buf->blocklens[j] = 0;
}
if(i < (int)iov_count)
i+=1;
j+=1;
}

#if DEBUG_ON
Expand Down Expand Up @@ -967,14 +967,14 @@ static int two_phase_exchage_data(mca_io_ompio_file_t *fh,


recv_types = (ompi_datatype_t **)
malloc (( nprocs_recv + 1 ) * sizeof(ompi_datatype_t *));
calloc (( nprocs_recv + 1 ), sizeof(ompi_datatype_t *));

if ( NULL == recv_types ){
ret = OMPI_ERR_OUT_OF_RESOURCE;
goto exit;
}

tmp_len = (int *) malloc(fh->f_size*sizeof(int));
tmp_len = (int *) calloc(fh->f_size, sizeof(int));

if ( NULL == tmp_len ) {
ret = OMPI_ERR_OUT_OF_RESOURCE;
Expand Down Expand Up @@ -1005,15 +1005,13 @@ static int two_phase_exchage_data(mca_io_ompio_file_t *fh,

if ( NULL == srt_off ){
ret = OMPI_ERR_OUT_OF_RESOURCE;
free(tmp_len);
goto exit;
}

srt_len = (int *) malloc((sum+1)*sizeof(int));

if ( NULL == srt_len ) {
ret = OMPI_ERR_OUT_OF_RESOURCE;
free(tmp_len);
free(srt_off);
goto exit;
}
Expand All @@ -1029,6 +1027,7 @@ static int two_phase_exchage_data(mca_io_ompio_file_t *fh,
}

free(tmp_len);
tmp_len = NULL;

*hole = 0;
if (off != srt_off[0]){
Expand Down Expand Up @@ -1059,7 +1058,8 @@ static int two_phase_exchage_data(mca_io_ompio_file_t *fh,
(sizeof(mca_io_ompio_io_array_t));
if (NULL == fh->f_io_array) {
opal_output(1, "OUT OF MEMORY\n");
return OMPI_ERR_OUT_OF_RESOURCE;
ret = OMPI_ERR_OUT_OF_RESOURCE;
goto exit;
}
fh->f_io_array[0].offset =(IOVBASE_TYPE *)(intptr_t) off;
fh->f_num_of_io_entries = 1;
Expand Down Expand Up @@ -1182,7 +1182,13 @@ static int two_phase_exchage_data(mca_io_ompio_file_t *fh,
#endif

exit:
for (i=0; i<nprocs_recv; i++) ompi_datatype_destroy(recv_types+i);
if (recv_types) {
for (i=0; i<nprocs_recv; i++) {
if (recv_types[i]) {
ompi_datatype_destroy(recv_types+i);
}
}
}
free (recv_types);

free (requests);
Expand All @@ -1193,6 +1199,7 @@ static int two_phase_exchage_data(mca_io_ompio_file_t *fh,

free (send_buf);
}
free (tmp_len);

return ret;
}
Expand Down
4 changes: 0 additions & 4 deletions ompi/mca/pml/ob1/pml_ob1_isend.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,10 +211,6 @@ int mca_pml_ob1_send(const void *buf,
return OMPI_SUCCESS;
}

if (OPAL_UNLIKELY(NULL == endpoint)) {
return OMPI_ERR_UNREACH;
}

seqn = (uint16_t) OPAL_THREAD_ADD32(&ob1_proc->send_sequence, 1);

/**
Expand Down
3 changes: 3 additions & 0 deletions ompi/mpi/fortran/mpif-h/comm_spawn_multiple_f.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
* Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2016 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
Expand Down Expand Up @@ -150,4 +152,5 @@ void ompi_comm_spawn_multiple_f(MPI_Fint *count, char *array_commands,
}
}
free(c_array_argv);
free(c_info);
}