1
1

Minor cleanups -- just keeping the real commit diffs meaningful.

This commit was SVN r8519.
Этот коммит содержится в:
Jeff Squyres 2005-12-15 21:52:40 +00:00
родитель 4379be6edc
Коммит 8df345b66a
3 изменённых файлов: 55 добавлений и 34 удалений

Просмотреть файл

@ -22,10 +22,11 @@ MPI::Intracomm::Intracomm(const MPI_Comm& data) {
int flag; int flag;
if (MPI::Is_initialized() && (data != MPI_COMM_NULL)) { if (MPI::Is_initialized() && (data != MPI_COMM_NULL)) {
(void)MPI_Comm_test_inter(data, &flag); (void)MPI_Comm_test_inter(data, &flag);
if (flag) if (flag) {
mpi_comm = MPI_COMM_NULL; mpi_comm = MPI_COMM_NULL;
else } else {
mpi_comm = data; mpi_comm = data;
}
} }
else { else {
mpi_comm = data; mpi_comm = data;
@ -140,9 +141,9 @@ MPI::Intracomm::Alltoallv(const void *sendbuf, const int sendcounts[],
inline void inline void
MPI::Intracomm::Alltoallw(const void *sendbuf, const int sendcounts[], MPI::Intracomm::Alltoallw(const void *sendbuf, const int sendcounts[],
const int sdispls[], const Datatype sendtypes[], const int sdispls[], const MPI::Datatype sendtypes[],
void *recvbuf, const int recvcounts[], void *recvbuf, const int recvcounts[],
const int rdispls[], const Datatype recvtypes[]) const const int rdispls[], const MPI::Datatype recvtypes[]) const
{ {
const int comm_size = Get_size(); const int comm_size = Get_size();
MPI_Datatype *const data_type_tbl = new MPI_Datatype [2*comm_size]; MPI_Datatype *const data_type_tbl = new MPI_Datatype [2*comm_size];

Просмотреть файл

@ -61,11 +61,13 @@ MPI::Request::Waitany(int count, MPI::Request array[],
{ {
int index, i; int index, i;
MPI_Request* array_of_requests = new MPI_Request[count]; MPI_Request* array_of_requests = new MPI_Request[count];
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array_of_requests[i] = array[i]; array_of_requests[i] = array[i];
}
(void)MPI_Waitany(count, array_of_requests, &index, &status.mpi_status); (void)MPI_Waitany(count, array_of_requests, &index, &status.mpi_status);
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array[i] = array_of_requests[i]; array[i] = array_of_requests[i];
}
delete [] array_of_requests; delete [] array_of_requests;
return index; return index;
} }
@ -75,11 +77,13 @@ MPI::Request::Waitany(int count, MPI::Request array[])
{ {
int index, i; int index, i;
MPI_Request* array_of_requests = new MPI_Request[count]; MPI_Request* array_of_requests = new MPI_Request[count];
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array_of_requests[i] = array[i]; array_of_requests[i] = array[i];
}
(void)MPI_Waitany(count, array_of_requests, &index, MPI_STATUS_IGNORE); (void)MPI_Waitany(count, array_of_requests, &index, MPI_STATUS_IGNORE);
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array[i] = array_of_requests[i]; array[i] = array_of_requests[i];
}
delete [] array_of_requests; delete [] array_of_requests;
return index; //JGS, Waitany return value return index; //JGS, Waitany return value
} }
@ -90,11 +94,13 @@ MPI::Request::Testany(int count, MPI::Request array[],
{ {
int i, flag; int i, flag;
MPI_Request* array_of_requests = new MPI_Request[count]; MPI_Request* array_of_requests = new MPI_Request[count];
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array_of_requests[i] = array[i]; array_of_requests[i] = array[i];
}
(void)MPI_Testany(count, array_of_requests, &index, &flag, &status.mpi_status); (void)MPI_Testany(count, array_of_requests, &index, &flag, &status.mpi_status);
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array[i] = array_of_requests[i]; array[i] = array_of_requests[i];
}
delete [] array_of_requests; delete [] array_of_requests;
return (bool)flag; return (bool)flag;
} }
@ -104,12 +110,14 @@ MPI::Request::Testany(int count, MPI::Request array[], int& index)
{ {
int i, flag; int i, flag;
MPI_Request* array_of_requests = new MPI_Request[count]; MPI_Request* array_of_requests = new MPI_Request[count];
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array_of_requests[i] = array[i]; array_of_requests[i] = array[i];
}
(void)MPI_Testany(count, array_of_requests, &index, &flag, (void)MPI_Testany(count, array_of_requests, &index, &flag,
MPI_STATUS_IGNORE); MPI_STATUS_IGNORE);
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array[i] = array_of_requests[i]; array[i] = array_of_requests[i];
}
delete [] array_of_requests; delete [] array_of_requests;
return (bool)flag; return (bool)flag;
} }
@ -121,13 +129,14 @@ MPI::Request::Waitall(int count, MPI::Request req_array[],
int i; int i;
MPI_Request* array_of_requests = new MPI_Request[count]; MPI_Request* array_of_requests = new MPI_Request[count];
MPI_Status* array_of_statuses = new MPI_Status[count]; MPI_Status* array_of_statuses = new MPI_Status[count];
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array_of_requests[i] = req_array[i]; array_of_requests[i] = req_array[i];
}
(void)MPI_Waitall(count, array_of_requests, array_of_statuses); (void)MPI_Waitall(count, array_of_requests, array_of_statuses);
for (i=0; i < count; i++) for (i=0; i < count; i++) {
req_array[i] = array_of_requests[i]; req_array[i] = array_of_requests[i];
for (i=0; i < count; i++)
stat_array[i] = array_of_statuses[i]; stat_array[i] = array_of_statuses[i];
}
delete [] array_of_requests; delete [] array_of_requests;
delete [] array_of_statuses; delete [] array_of_statuses;
} }
@ -138,12 +147,14 @@ MPI::Request::Waitall(int count, MPI::Request req_array[])
int i; int i;
MPI_Request* array_of_requests = new MPI_Request[count]; MPI_Request* array_of_requests = new MPI_Request[count];
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array_of_requests[i] = req_array[i]; array_of_requests[i] = req_array[i];
}
(void)MPI_Waitall(count, array_of_requests, MPI_STATUSES_IGNORE); (void)MPI_Waitall(count, array_of_requests, MPI_STATUSES_IGNORE);
for (i=0; i < count; i++) for (i=0; i < count; i++) {
req_array[i] = array_of_requests[i]; req_array[i] = array_of_requests[i];
}
delete [] array_of_requests; delete [] array_of_requests;
} }
@ -155,13 +166,14 @@ MPI::Request::Testall(int count, MPI::Request req_array[],
int i, flag; int i, flag;
MPI_Request* array_of_requests = new MPI_Request[count]; MPI_Request* array_of_requests = new MPI_Request[count];
MPI_Status* array_of_statuses = new MPI_Status[count]; MPI_Status* array_of_statuses = new MPI_Status[count];
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array_of_requests[i] = req_array[i]; array_of_requests[i] = req_array[i];
}
(void)MPI_Testall(count, array_of_requests, &flag, array_of_statuses); (void)MPI_Testall(count, array_of_requests, &flag, array_of_statuses);
for (i=0; i < count; i++) for (i=0; i < count; i++) {
req_array[i] = array_of_requests[i]; req_array[i] = array_of_requests[i];
for (i=0; i < count; i++)
stat_array[i] = array_of_statuses[i]; stat_array[i] = array_of_statuses[i];
}
delete [] array_of_requests; delete [] array_of_requests;
delete [] array_of_statuses; delete [] array_of_statuses;
return (bool) flag; return (bool) flag;
@ -173,12 +185,14 @@ MPI::Request::Testall(int count, MPI::Request req_array[])
int i, flag; int i, flag;
MPI_Request* array_of_requests = new MPI_Request[count]; MPI_Request* array_of_requests = new MPI_Request[count];
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array_of_requests[i] = req_array[i]; array_of_requests[i] = req_array[i];
}
(void)MPI_Testall(count, array_of_requests, &flag, MPI_STATUSES_IGNORE); (void)MPI_Testall(count, array_of_requests, &flag, MPI_STATUSES_IGNORE);
for (i=0; i < count; i++) for (i=0; i < count; i++) {
req_array[i] = array_of_requests[i]; req_array[i] = array_of_requests[i];
}
delete [] array_of_requests; delete [] array_of_requests;
return (bool) flag; return (bool) flag;
@ -191,14 +205,15 @@ MPI::Request::Waitsome(int incount, MPI::Request req_array[],
int i, outcount; int i, outcount;
MPI_Request* array_of_requests = new MPI_Request[incount]; MPI_Request* array_of_requests = new MPI_Request[incount];
MPI_Status* array_of_statuses = new MPI_Status[incount]; MPI_Status* array_of_statuses = new MPI_Status[incount];
for (i=0; i < incount; i++) for (i=0; i < incount; i++) {
array_of_requests[i] = req_array[i]; array_of_requests[i] = req_array[i];
}
(void)MPI_Waitsome(incount, array_of_requests, &outcount, (void)MPI_Waitsome(incount, array_of_requests, &outcount,
array_of_indices, array_of_statuses); array_of_indices, array_of_statuses);
for (i=0; i < incount; i++) for (i=0; i < incount; i++) {
req_array[i] = array_of_requests[i]; req_array[i] = array_of_requests[i];
for (i=0; i < incount; i++)
stat_array[i] = array_of_statuses[i]; stat_array[i] = array_of_statuses[i];
}
delete [] array_of_requests; delete [] array_of_requests;
delete [] array_of_statuses; delete [] array_of_statuses;
return outcount; return outcount;
@ -211,13 +226,15 @@ MPI::Request::Waitsome(int incount, MPI::Request req_array[],
int i, outcount; int i, outcount;
MPI_Request* array_of_requests = new MPI_Request[incount]; MPI_Request* array_of_requests = new MPI_Request[incount];
for (i=0; i < incount; i++) for (i=0; i < incount; i++) {
array_of_requests[i] = req_array[i]; array_of_requests[i] = req_array[i];
}
(void)MPI_Waitsome(incount, array_of_requests, &outcount, (void)MPI_Waitsome(incount, array_of_requests, &outcount,
array_of_indices, MPI_STATUSES_IGNORE); array_of_indices, MPI_STATUSES_IGNORE);
for (i=0; i < incount; i++) for (i=0; i < incount; i++) {
req_array[i] = array_of_requests[i]; req_array[i] = array_of_requests[i];
}
delete [] array_of_requests; delete [] array_of_requests;
return outcount; return outcount;
@ -230,14 +247,15 @@ MPI::Request::Testsome(int incount, MPI::Request req_array[],
int i, outcount; int i, outcount;
MPI_Request* array_of_requests = new MPI_Request[incount]; MPI_Request* array_of_requests = new MPI_Request[incount];
MPI_Status* array_of_statuses = new MPI_Status[incount]; MPI_Status* array_of_statuses = new MPI_Status[incount];
for (i=0; i < incount; i++) for (i=0; i < incount; i++) {
array_of_requests[i] = req_array[i]; array_of_requests[i] = req_array[i];
}
(void)MPI_Testsome(incount, array_of_requests, &outcount, (void)MPI_Testsome(incount, array_of_requests, &outcount,
array_of_indices, array_of_statuses); array_of_indices, array_of_statuses);
for (i=0; i < incount; i++) for (i=0; i < incount; i++) {
req_array[i] = array_of_requests[i]; req_array[i] = array_of_requests[i];
for (i=0; i < incount; i++)
stat_array[i] = array_of_statuses[i]; stat_array[i] = array_of_statuses[i];
}
delete [] array_of_requests; delete [] array_of_requests;
delete [] array_of_statuses; delete [] array_of_statuses;
return outcount; return outcount;
@ -250,13 +268,15 @@ MPI::Request::Testsome(int incount, MPI::Request req_array[],
int i, outcount; int i, outcount;
MPI_Request* array_of_requests = new MPI_Request[incount]; MPI_Request* array_of_requests = new MPI_Request[incount];
for (i=0; i < incount; i++) for (i=0; i < incount; i++) {
array_of_requests[i] = req_array[i]; array_of_requests[i] = req_array[i];
}
(void)MPI_Testsome(incount, array_of_requests, &outcount, (void)MPI_Testsome(incount, array_of_requests, &outcount,
array_of_indices, MPI_STATUSES_IGNORE); array_of_indices, MPI_STATUSES_IGNORE);
for (i=0; i < incount; i++) for (i=0; i < incount; i++) {
req_array[i] = array_of_requests[i]; req_array[i] = array_of_requests[i];
}
delete [] array_of_requests; delete [] array_of_requests;
return outcount; return outcount;
@ -284,8 +304,9 @@ MPI::Prequest::Startall(int count, MPI:: Prequest array_of_requests[])
mpi_requests[i] = array_of_requests[i]; mpi_requests[i] = array_of_requests[i];
} }
(void)MPI_Startall(count, mpi_requests); (void)MPI_Startall(count, mpi_requests);
for (i=0; i < count; i++) for (i=0; i < count; i++) {
array_of_requests[i].mpi_request = mpi_requests[i] ; array_of_requests[i].mpi_request = mpi_requests[i] ;
}
delete [] mpi_requests; delete [] mpi_requests;
} }

Просмотреть файл

@ -25,7 +25,6 @@ inline int
MPI::Status::Get_count(const MPI::Datatype& datatype) const MPI::Status::Get_count(const MPI::Datatype& datatype) const
{ {
int count; int count;
//(MPI_Status*) is to cast away the const
(void)MPI_Get_count(const_cast<MPI_Status*>(&mpi_status), datatype, &count); (void)MPI_Get_count(const_cast<MPI_Status*>(&mpi_status), datatype, &count);
return count; return count;
} }