Changing the MPI Datatype from MPI_LONG to OMPI_OFFSET_DATATYPE for send/recv offsets
This commit was SVN r28822.
Этот коммит содержится в:
родитель
d4c6029cf3
Коммит
ce8f8f0829
@ -318,10 +318,10 @@ mca_fcoll_two_phase_file_read_all (mca_io_ompio_file_t *fh,
|
|||||||
|
|
||||||
ret = fh->f_comm->c_coll.coll_allgather(&start_offset,
|
ret = fh->f_comm->c_coll.coll_allgather(&start_offset,
|
||||||
1,
|
1,
|
||||||
MPI_LONG,
|
OMPI_OFFSET_DATATYPE,
|
||||||
start_offsets,
|
start_offsets,
|
||||||
1,
|
1,
|
||||||
MPI_LONG,
|
OMPI_OFFSET_DATATYPE,
|
||||||
fh->f_comm,
|
fh->f_comm,
|
||||||
fh->f_comm->c_coll.coll_allgather_module);
|
fh->f_comm->c_coll.coll_allgather_module);
|
||||||
|
|
||||||
@ -331,10 +331,10 @@ mca_fcoll_two_phase_file_read_all (mca_io_ompio_file_t *fh,
|
|||||||
|
|
||||||
ret = fh->f_comm->c_coll.coll_allgather(&end_offset,
|
ret = fh->f_comm->c_coll.coll_allgather(&end_offset,
|
||||||
1,
|
1,
|
||||||
MPI_LONG,
|
OMPI_OFFSET_DATATYPE,
|
||||||
end_offsets,
|
end_offsets,
|
||||||
1,
|
1,
|
||||||
MPI_LONG,
|
OMPI_OFFSET_DATATYPE,
|
||||||
fh->f_comm,
|
fh->f_comm,
|
||||||
fh->f_comm->c_coll.coll_allgather_module);
|
fh->f_comm->c_coll.coll_allgather_module);
|
||||||
|
|
||||||
|
@ -334,8 +334,8 @@ mca_fcoll_two_phase_file_write_all (mca_io_ompio_file_t *fh,
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
start_offset = (OMPI_MPI_OFFSET_TYPE)(intptr_t)iov[0].iov_base;
|
start_offset = (OMPI_MPI_OFFSET_TYPE)(uintptr_t)iov[0].iov_base;
|
||||||
end_offset = (OMPI_MPI_OFFSET_TYPE)(intptr_t)iov[local_count-1].iov_base +
|
end_offset = (OMPI_MPI_OFFSET_TYPE)(uintptr_t)iov[local_count-1].iov_base +
|
||||||
(OMPI_MPI_OFFSET_TYPE)iov[local_count-1].iov_len - 1;
|
(OMPI_MPI_OFFSET_TYPE)iov[local_count-1].iov_len - 1;
|
||||||
|
|
||||||
#if DEBUG_ON
|
#if DEBUG_ON
|
||||||
@ -365,10 +365,10 @@ mca_fcoll_two_phase_file_write_all (mca_io_ompio_file_t *fh,
|
|||||||
|
|
||||||
ret = fh->f_comm->c_coll.coll_allgather(&start_offset,
|
ret = fh->f_comm->c_coll.coll_allgather(&start_offset,
|
||||||
1,
|
1,
|
||||||
MPI_LONG,
|
OMPI_OFFSET_DATATYPE,
|
||||||
start_offsets,
|
start_offsets,
|
||||||
1,
|
1,
|
||||||
MPI_LONG,
|
OMPI_OFFSET_DATATYPE,
|
||||||
fh->f_comm,
|
fh->f_comm,
|
||||||
fh->f_comm->c_coll.coll_allgather_module);
|
fh->f_comm->c_coll.coll_allgather_module);
|
||||||
|
|
||||||
@ -379,10 +379,10 @@ mca_fcoll_two_phase_file_write_all (mca_io_ompio_file_t *fh,
|
|||||||
|
|
||||||
ret = fh->f_comm->c_coll.coll_allgather(&end_offset,
|
ret = fh->f_comm->c_coll.coll_allgather(&end_offset,
|
||||||
1,
|
1,
|
||||||
MPI_LONG,
|
OMPI_OFFSET_DATATYPE,
|
||||||
end_offsets,
|
end_offsets,
|
||||||
1,
|
1,
|
||||||
MPI_LONG,
|
OMPI_OFFSET_DATATYPE,
|
||||||
fh->f_comm,
|
fh->f_comm,
|
||||||
fh->f_comm->c_coll.coll_allgather_module);
|
fh->f_comm->c_coll.coll_allgather_module);
|
||||||
|
|
||||||
|
@ -45,8 +45,6 @@ int mca_fcoll_two_phase_domain_partition (mca_io_ompio_file_t *fh,
|
|||||||
if (fd_size < min_fd_size)
|
if (fd_size < min_fd_size)
|
||||||
fd_size = min_fd_size;
|
fd_size = min_fd_size;
|
||||||
|
|
||||||
/* printf("fd_size :%lld, min_fd_size : %d\n", fd_size, min_fd_size);*/
|
|
||||||
|
|
||||||
*fd_st_ptr = (OMPI_MPI_OFFSET_TYPE *)
|
*fd_st_ptr = (OMPI_MPI_OFFSET_TYPE *)
|
||||||
malloc(nprocs_for_coll*sizeof(OMPI_MPI_OFFSET_TYPE));
|
malloc(nprocs_for_coll*sizeof(OMPI_MPI_OFFSET_TYPE));
|
||||||
|
|
||||||
@ -67,12 +65,10 @@ int mca_fcoll_two_phase_domain_partition (mca_io_ompio_file_t *fh,
|
|||||||
|
|
||||||
|
|
||||||
if (striping_unit > 0){
|
if (striping_unit > 0){
|
||||||
|
|
||||||
/* Lock Boundary based domain partitioning */
|
/* Lock Boundary based domain partitioning */
|
||||||
int rem_front, rem_back;
|
int rem_front, rem_back;
|
||||||
OMPI_MPI_OFFSET_TYPE end_off;
|
OMPI_MPI_OFFSET_TYPE end_off;
|
||||||
|
|
||||||
printf("striping unit based partitioning!\n ");
|
|
||||||
fd_start[0] = min_st_offset;
|
fd_start[0] = min_st_offset;
|
||||||
end_off = fd_start[0] + fd_size;
|
end_off = fd_start[0] + fd_size;
|
||||||
rem_front = end_off % striping_unit;
|
rem_front = end_off % striping_unit;
|
||||||
@ -247,7 +243,7 @@ int mca_fcoll_two_phase_calc_others_requests(mca_io_ompio_file_t *fh,
|
|||||||
if (others_req[i].count){
|
if (others_req[i].count){
|
||||||
ret = MCA_PML_CALL(irecv(others_req[i].offsets,
|
ret = MCA_PML_CALL(irecv(others_req[i].offsets,
|
||||||
others_req[i].count,
|
others_req[i].count,
|
||||||
MPI_LONG,
|
OMPI_OFFSET_DATATYPE,
|
||||||
i,
|
i,
|
||||||
i+fh->f_rank,
|
i+fh->f_rank,
|
||||||
fh->f_comm,
|
fh->f_comm,
|
||||||
@ -278,7 +274,7 @@ int mca_fcoll_two_phase_calc_others_requests(mca_io_ompio_file_t *fh,
|
|||||||
if (my_req[i].count) {
|
if (my_req[i].count) {
|
||||||
ret = MCA_PML_CALL(isend(my_req[i].offsets,
|
ret = MCA_PML_CALL(isend(my_req[i].offsets,
|
||||||
my_req[i].count,
|
my_req[i].count,
|
||||||
MPI_LONG,
|
OMPI_OFFSET_DATATYPE,
|
||||||
i,
|
i,
|
||||||
i+fh->f_rank,
|
i+fh->f_rank,
|
||||||
MCA_PML_BASE_SEND_STANDARD,
|
MCA_PML_BASE_SEND_STANDARD,
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user