misc: apply maint/spellcheck.sh test
This fixes the splling for the test/ subdiretory
Esse commit está contido em:
@@ -6,6 +6,6 @@ options that are part of the common MPICH extensions for mpiexec.
|
||||
|
||||
In addition, the program testout.c can be used to check the buffering of
|
||||
stdio. As a quality of implementation issue, users expect programs run
|
||||
by mpiexec to preserve their buffering choice (or at least the appearence of
|
||||
by mpiexec to preserve their buffering choice (or at least the appearance of
|
||||
it). This program writes several lines of output with delays between each
|
||||
line; those delays should be observed when the program is run under mpiexec.
|
||||
|
||||
@@ -134,7 +134,7 @@ foreach my $key (keys(%EnvSeen)) {
|
||||
delete $copyEnv{$key};
|
||||
}
|
||||
foreach my $key (keys(%copyEnv)) {
|
||||
print "Enviroment variable $key not delivered to target program\n";
|
||||
print "Environment variable $key not delivered to target program\n";
|
||||
$errors ++;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ items listed here that are already sufficiently tested.
|
||||
unsigned short, char, unsigned char, float, double,
|
||||
long double, complex (f77), double complex (f77)
|
||||
|
||||
red_scat: differnt alg lengths
|
||||
red_scat: different alg lengths
|
||||
|
||||
reduce: run with non powers of two, both odd and even values
|
||||
run with root in various places, particularly with non
|
||||
|
||||
@@ -92,7 +92,7 @@ int checkAttrs(MPI_Comm comm, int n, int key[], int attrval[])
|
||||
fprintf(stderr, "Attribute for key %d not set\n", i);
|
||||
} else if (val_p != &attrval[i]) {
|
||||
errs++;
|
||||
fprintf(stderr, "Atribute value for key %d not correct\n", i);
|
||||
fprintf(stderr, "Attribute value for key %d not correct\n", i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ int checkAttrs(MPI_Comm comm, int n, int key[], int attrval[])
|
||||
fprintf(stderr, "Attribute for key %d not set\n", i);
|
||||
} else if (val_p != &attrval[i]) {
|
||||
errs++;
|
||||
fprintf(stderr, "Atribute value for key %d not correct\n", i);
|
||||
fprintf(stderr, "Attribute value for key %d not correct\n", i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ int checkAttrs(MPI_Datatype type, int n, int key[], int attrval[])
|
||||
fprintf(stderr, "Attribute for key %d not set\n", i);
|
||||
} else if (val_p != &attrval[i]) {
|
||||
errs++;
|
||||
fprintf(stderr, "Atribute value for key %d not correct\n", i);
|
||||
fprintf(stderr, "Attribute value for key %d not correct\n", i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -169,7 +169,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
MPI_Op_create(matmult, 0, &op);
|
||||
|
||||
/* A single rotation matrix (3x3, stored as 9 consequetive elements) */
|
||||
/* A single rotation matrix (3x3, stored as 9 consecutive elements) */
|
||||
MPI_Type_contiguous(9, MPI_INT, &mattype);
|
||||
MPI_Type_commit(&mattype);
|
||||
|
||||
|
||||
@@ -197,7 +197,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* Create the local matrices.
|
||||
* Initialize the input matrix so that the entries are
|
||||
* consequtive integers, by row, starting at 0.
|
||||
* consecutive integers, by row, starting at 0.
|
||||
*/
|
||||
if (rank == size - 1) {
|
||||
localA = (float *) malloc(gN * lmlast * sizeof(float));
|
||||
@@ -223,7 +223,7 @@ int main(int argc, char *argv[])
|
||||
Transpose(localA, localB, gM, gN, comm);
|
||||
|
||||
/* check the transposed matrix
|
||||
* In the global matrix, the transpose has consequtive integers,
|
||||
* In the global matrix, the transpose has consecutive integers,
|
||||
* organized by columns.
|
||||
*/
|
||||
if (rank == size - 1) {
|
||||
|
||||
@@ -16,7 +16,7 @@ int assoc(int *, int *, int *, MPI_Datatype *);
|
||||
(see 4.9.4). The order is important.
|
||||
|
||||
Note that the computation is in process rank (in the communicator)
|
||||
order, independant of the root.
|
||||
order, independent of the root.
|
||||
*/
|
||||
int assoc(int *invec, int *inoutvec, int *len, MPI_Datatype * dtype)
|
||||
{
|
||||
|
||||
@@ -60,7 +60,7 @@ int main(int argc, char *argv[])
|
||||
for (i = 0; i < size; i++) {
|
||||
for (j = 0; j < COUNT; j++) {
|
||||
if (recvbuf[i * COUNT + j] != i * VERIFY_CONST + j) {
|
||||
printf("PE 0: mis-match error");
|
||||
printf("PE 0: mismatch error");
|
||||
printf(" recbuf[%d * %d + %d] = ", i, COUNT, j);
|
||||
printf(" %ld,", recvbuf[i * COUNT + j]);
|
||||
printf(" should be %ld\n", i * VERIFY_CONST + j);
|
||||
|
||||
@@ -122,7 +122,7 @@ static void cleanup_laundry(struct laundry *l)
|
||||
}
|
||||
|
||||
/* Starts a "random" operation on "comm" corresponding to "rndnum" and returns
|
||||
* in (*req) a request handle corresonding to that operation. This call should
|
||||
* in (*req) a request handle corresponding to that operation. This call should
|
||||
* be considered collective over comm (with a consistent value for "rndnum"),
|
||||
* even though the operation may only be a point-to-point request. */
|
||||
static void start_random_nonblocking(MPI_Comm comm, unsigned int rndnum, MPI_Request * req,
|
||||
|
||||
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
|
||||
else
|
||||
maxsize = size;
|
||||
|
||||
/* General forumula: If we multiple the values from 1 to n, the
|
||||
/* General formula: If we multiple the values from 1 to n, the
|
||||
* product is n!. This grows very fast, so we'll only use the first
|
||||
* five (1! = 1, 2! = 2, 3! = 6, 4! = 24, 5! = 120), with n!
|
||||
* stored in the array result[n] */
|
||||
|
||||
@@ -50,7 +50,7 @@ void right(void *a, void *b, int *count, MPI_Datatype * type)
|
||||
}
|
||||
|
||||
/* Just performs a simple sum but can be marked as non-commutative to
|
||||
potentially tigger different logic in the implementation. */
|
||||
potentially trigger different logic in the implementation. */
|
||||
void nc_sum(void *a, void *b, int *count, MPI_Datatype * type);
|
||||
void nc_sum(void *a, void *b, int *count, MPI_Datatype * type)
|
||||
{
|
||||
|
||||
@@ -50,7 +50,7 @@ void right(void *a, void *b, int *count, MPI_Datatype * type)
|
||||
}
|
||||
|
||||
/* Just performs a simple sum but can be marked as non-commutative to
|
||||
potentially tigger different logic in the implementation. */
|
||||
potentially trigger different logic in the implementation. */
|
||||
void nc_sum(void *a, void *b, int *count, MPI_Datatype * type);
|
||||
void nc_sum(void *a, void *b, int *count, MPI_Datatype * type)
|
||||
{
|
||||
|
||||
@@ -24,7 +24,7 @@ void addem(int *invec, int *inoutvec, int *len, MPI_Datatype * dtype)
|
||||
(see 4.9.4). The order is important.
|
||||
|
||||
Note that the computation is in process rank (in the communicator)
|
||||
order, independant of the root.
|
||||
order, independent of the root.
|
||||
*/
|
||||
void assoc(int *invec, int *inoutvec, int *len, MPI_Datatype * dtype)
|
||||
{
|
||||
|
||||
@@ -12,18 +12,18 @@
|
||||
#define ITERS 10
|
||||
|
||||
/* This test uses several scenarios to overlap iallreduce and comm_idup
|
||||
* 1.) Use comm_idup dublicate the COMM_WORLD and do iallreduce
|
||||
* 1.) Use comm_idup duplicate the COMM_WORLD and do iallreduce
|
||||
* on the COMM_WORLD
|
||||
* 2.) Do the above test in a loop
|
||||
* 3.) Dublicate COMM_WORLD, overalp iallreduce on one
|
||||
* 3.) Duplicate COMM_WORLD, overalp iallreduce on one
|
||||
* communicator with comm_idup on the nother communicator
|
||||
* 4.) Split MPI_COMM_WORLD, communicate on the split communicator
|
||||
while dublicating COMM_WORLD
|
||||
* 5.) Duplicate the split communicators with comm_idup
|
||||
* while communicating onCOMM_WORLD
|
||||
* 6.) Ceate an inter-communicator and duplicate it with comm_idup while
|
||||
* 6.) Create an inter-communicator and duplicate it with comm_idup while
|
||||
* communicating on the inter-communicator
|
||||
* 7.) Dublicate the inter-communicator whil communicate on COMM_WORLD
|
||||
* 7.) Duplicate the inter-communicator whil communicate on COMM_WORLD
|
||||
* 8.) Merge the inter-communicator to an intra-communicator and idup it,
|
||||
* overlapping with communication on MPI_COMM_WORLD
|
||||
* 9.) Communicate on the merge communicator, while duplicating COMM_WORLD
|
||||
|
||||
@@ -13,7 +13,7 @@ int main(int argc, char *argv[])
|
||||
MPI_Comm comm, dupcomm, dupcomm2;
|
||||
MPI_Request rreq[2];
|
||||
int count;
|
||||
int indicies[2];
|
||||
int indices[2];
|
||||
int r1buf, r2buf, s1buf, s2buf;
|
||||
int rank, isLeft;
|
||||
|
||||
@@ -39,12 +39,12 @@ int main(int argc, char *argv[])
|
||||
MPI_Irecv(&r1buf, 1, MPI_INT, 0, 0, dupcomm, &rreq[0]);
|
||||
MPI_Irecv(&r2buf, 1, MPI_INT, 0, 0, comm, &rreq[1]);
|
||||
MPI_Send(&s2buf, 1, MPI_INT, 0, 0, comm);
|
||||
MPI_Waitsome(2, rreq, &count, indicies, MPI_STATUSES_IGNORE);
|
||||
if (count != 1 || indicies[0] != 1) {
|
||||
MPI_Waitsome(2, rreq, &count, indices, MPI_STATUSES_IGNORE);
|
||||
if (count != 1 || indices[0] != 1) {
|
||||
/* The only valid return is that exactly one message
|
||||
* has been received */
|
||||
errs++;
|
||||
if (count == 1 && indicies[0] != 1) {
|
||||
if (count == 1 && indices[0] != 1) {
|
||||
printf("Error in context values for intercomm\n");
|
||||
} else if (count == 2) {
|
||||
printf("Error: two messages received!\n");
|
||||
@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
|
||||
int i;
|
||||
printf("Error: count = %d", count);
|
||||
for (i = 0; i < count; i++) {
|
||||
printf(" indicies[%d] = %d", i, indicies[i]);
|
||||
printf(" indices[%d] = %d", i, indices[i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
@@ -1042,7 +1042,7 @@ dnl EOF
|
||||
dnl # FIXME. Check for BASECC
|
||||
dnl # Note: This assumes that CC has been set to the C compiler for
|
||||
dnl # MPI Programs, and that either any necessary include paths are
|
||||
dnl # already set or they are in CPPFLAGS (prefered) or CFLAGS.
|
||||
dnl # already set or they are in CPPFLAGS (preferred) or CFLAGS.
|
||||
dnl if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext ; then
|
||||
dnl if ./conftest$ac_exeext ; then
|
||||
dnl #success
|
||||
@@ -1573,7 +1573,7 @@ AC_MSG_RESULT($POINTERINT)
|
||||
AC_DEFINE_UNQUOTED(POINTERINT_t,$POINTERINT,[POINTERINT_t is a pointer-sized integer])
|
||||
|
||||
# Find perl; used to create some of the tests from template and
|
||||
# defintion files
|
||||
# definition files
|
||||
AC_PATH_PROG(PERL,perl)
|
||||
AC_SUBST(PERL)
|
||||
AC_SUBST(otherlangs)
|
||||
|
||||
@@ -70,7 +70,7 @@ int main(int argc, char **argv)
|
||||
name[0] = 0;
|
||||
mpi_names[i].dtype.Get_name(name, namelen);
|
||||
if (strncmp(name, mpi_names[i].name, MPI::MAX_OBJECT_NAME) &&
|
||||
/* LONG_LONG is a synonym of LONG_LONG_INT, thus LONG_LONG_INT is also a vaild name */
|
||||
/* LONG_LONG is a synonym of LONG_LONG_INT, thus LONG_LONG_INT is also a valid name */
|
||||
(mpi_names[i].dtype != MPI::LONG_LONG ||
|
||||
strncmp(name, "MPI_LONG_LONG_INT", MPI::MAX_OBJECT_NAME))) {
|
||||
errs++;
|
||||
@@ -161,7 +161,7 @@ void InitMPINames(void)
|
||||
{MPI::COMPLEX, "MPI::COMPLEX"},
|
||||
{MPI::DOUBLE_COMPLEX, "MPI::DOUBLE_COMPLEX"},
|
||||
{MPI::LONG_DOUBLE_COMPLEX, "MPI::LONG_DOUBLE_COMPLEX"},
|
||||
{0, (char *) 0}, /* Sentinal used to indicate the last element */
|
||||
{0, (char *) 0}, /* Sentinel used to indicate the last element */
|
||||
};
|
||||
|
||||
mpi_names = new mpi_names_t[sizeof(lmpi_names) / sizeof(mpi_names_t)];
|
||||
|
||||
@@ -38,7 +38,7 @@ int main(int argc, char *argv[])
|
||||
value = new char[MPI::MAX_INFO_VAL];
|
||||
|
||||
info = MPI::Info::Create();
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
for (i = 0; i < NKEYS; i++) {
|
||||
info.Set(keys[i], values[i]);
|
||||
|
||||
@@ -37,7 +37,7 @@ int main(int argc, char *argv[])
|
||||
valdup = new char[MPI::MAX_INFO_VAL];
|
||||
|
||||
info1 = MPI::Info::Create();
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
info1.Set("host", "myhost.myorg.org");
|
||||
info1.Set("file", "runfile.txt");
|
||||
|
||||
@@ -40,7 +40,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 1,2,3 */
|
||||
info = MPI::Info::Create();
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
for (i = 0; i < NKEYS; i++) {
|
||||
info.Set(keys1[i], values1[i]);
|
||||
@@ -62,7 +62,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 3,2,1 */
|
||||
info = MPI::Info::Create();
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
for (i = NKEYS - 1; i >= 0; i--) {
|
||||
info.Set(keys1[i], values1[i]);
|
||||
@@ -84,7 +84,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 1,3,2 */
|
||||
info = MPI::Info::Create();
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
info.Set(keys1[0], values1[0]);
|
||||
info.Set(keys1[2], values1[2]);
|
||||
@@ -106,7 +106,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 2,1,3 */
|
||||
info = MPI::Info::Create();
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
info.Set(keys1[1], values1[1]);
|
||||
info.Set(keys1[0], values1[0]);
|
||||
@@ -128,7 +128,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 2,3,1 */
|
||||
info = MPI::Info::Create();
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
info.Set(keys1[1], values1[1]);
|
||||
info.Set(keys1[2], values1[2]);
|
||||
@@ -150,7 +150,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 3,1,2 */
|
||||
info = MPI::Info::Create();
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
info.Set(keys1[2], values1[2]);
|
||||
info.Set(keys1[0], values1[0]);
|
||||
|
||||
@@ -38,7 +38,7 @@ int main(int argc, char *argv[])
|
||||
value = new char[MPI::MAX_INFO_VAL];
|
||||
|
||||
info = MPI::Info::Create();
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
for (i = 0; i < NKEYS; i++) {
|
||||
info.Set(keys[i], values[i]);
|
||||
|
||||
@@ -69,7 +69,7 @@ nodist_writeordbenosx_SOURCES = writeordbenosx.cxx
|
||||
nodist_writeshnosx_SOURCES = writeshnosx.cxx
|
||||
nodist_writeatallbenosx_SOURCES = writeatallbenosx.cxx
|
||||
|
||||
# these files are genereated using testmerge (see below)
|
||||
# these files are generated using testmerge (see below)
|
||||
generated_io_sources = \
|
||||
iwriteatx.cxx \
|
||||
iwritex.cxx \
|
||||
|
||||
@@ -143,7 +143,7 @@ int blockindexed_contig_test(void)
|
||||
/* blockindexed_vector_test()
|
||||
*
|
||||
* Tests behavior with a blockindexed of some vector types;
|
||||
* this shouldn't be easily convertable into anything else.
|
||||
* this shouldn't be easily convertible into anything else.
|
||||
*
|
||||
* Returns the number of errors encountered.
|
||||
*/
|
||||
|
||||
@@ -153,7 +153,7 @@ int hindexed_block_contig_test(void)
|
||||
/* hindexed_block_vector_test()
|
||||
*
|
||||
* Tests behavior with a hindexed_block of some vector types;
|
||||
* this shouldn't be easily convertable into anything else.
|
||||
* this shouldn't be easily convertible into anything else.
|
||||
*
|
||||
* Returns the number of errors encountered.
|
||||
*/
|
||||
|
||||
@@ -16,7 +16,7 @@ static MPI_Datatype make_largexfer_type_struct(MPI_Offset nbytes)
|
||||
int remainder = 0;
|
||||
MPI_Datatype memtype, chunktype;
|
||||
|
||||
/* need to cook up a new datatype to accomodate large datatypes */
|
||||
/* need to cook up a new datatype to accommodate large datatypes */
|
||||
/* first pass: chunks of 1 MiB plus an additional remainder. Does require
|
||||
* 8 byte MPI_Aint, which should have been checked for earlier */
|
||||
|
||||
@@ -54,7 +54,7 @@ static MPI_Datatype make_largexfer_type_hindexed(MPI_Offset nbytes)
|
||||
MPI_Aint *disp;
|
||||
MPI_Datatype memtype;
|
||||
|
||||
/* need to cook up a new datatype to accomodate large datatypes */
|
||||
/* need to cook up a new datatype to accommodate large datatypes */
|
||||
/* Does require 8 byte MPI_Aint, which should have been checked for earlier
|
||||
*/
|
||||
|
||||
|
||||
@@ -1137,7 +1137,7 @@ int int_with_negextent_test(void)
|
||||
fprintf(stderr, " MPI_Type_struct of %s failed.\n", typemapstring);
|
||||
if (verbose)
|
||||
MTestPrintError(err);
|
||||
/* No point in contiuing */
|
||||
/* No point in continuing */
|
||||
return errs;
|
||||
}
|
||||
|
||||
|
||||
@@ -121,7 +121,7 @@ static mpi_names_t mpi_names[] = {
|
||||
/* added in MPI 3 */
|
||||
{MPI_COUNT, "MPI_COUNT"},
|
||||
#endif
|
||||
{0, (char *) 0}, /* Sentinal used to indicate the last element */
|
||||
{0, (char *) 0}, /* Sentinel used to indicate the last element */
|
||||
};
|
||||
|
||||
int main(int argc, char **argv)
|
||||
@@ -168,11 +168,11 @@ int main(int argc, char **argv)
|
||||
name[0] = 0;
|
||||
MPI_Type_get_name(mpi_names[i].dtype, name, &namelen);
|
||||
|
||||
/* LONG_LONG is a synonym of LONG_LONG_INT, thus LONG_LONG_INT is a vaild name */
|
||||
/* LONG_LONG is a synonym of LONG_LONG_INT, thus LONG_LONG_INT is a valid name */
|
||||
isSynonymName = (mpi_names[i].dtype == MPI_LONG_LONG &&
|
||||
!strncmp(name, "MPI_LONG_LONG_INT", MPI_MAX_OBJECT_NAME));
|
||||
#if MTEST_HAVE_MIN_MPI_VERSION(2,2)
|
||||
/* C_FLOAT_COMPLEX is a synonym of C_COMPLEX, thus C_COMPLEX is a vaild name */
|
||||
/* C_FLOAT_COMPLEX is a synonym of C_COMPLEX, thus C_COMPLEX is a valid name */
|
||||
isSynonymName = isSynonymName || (mpi_names[i].dtype == MPI_C_FLOAT_COMPLEX &&
|
||||
!strncmp(name, "MPI_C_COMPLEX", MPI_MAX_OBJECT_NAME));
|
||||
#endif
|
||||
|
||||
@@ -23,7 +23,7 @@ typedef struct mpi_names_t {
|
||||
static mpi_names_t mpi_names[] = {
|
||||
{MPI_LB, "MPI_LB"},
|
||||
{MPI_UB, "MPI_UB"},
|
||||
{0, (char *) 0}, /* Sentinal used to indicate the last element */
|
||||
{0, (char *) 0}, /* Sentinel used to indicate the last element */
|
||||
};
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
||||
@@ -36,7 +36,7 @@ int main(int argc, char **argv)
|
||||
|
||||
/* We should not get here, because the default error handler
|
||||
* is ERRORS_ARE_FATAL. This makes sure that the correct error
|
||||
* handler is called and that no failure occured (such as
|
||||
* handler is called and that no failure occurred (such as
|
||||
* a SEGV) in Comm_call_errhandler on the default
|
||||
* error handler. */
|
||||
printf("After the Error Handler Has Been Called\n");
|
||||
|
||||
@@ -11,7 +11,7 @@ void ChkMsg(int, int, const char[]);
|
||||
/*
|
||||
* This routine is used to check the message associated with an error
|
||||
* code. Currently, it uses MPI_Error_string to get the corresponding
|
||||
* message for a code, and prints out the cooresponding class and original
|
||||
* message for a code, and prints out the corresponding class and original
|
||||
* message.
|
||||
*
|
||||
* Eventually, we should also access the generic anc specific messages
|
||||
|
||||
@@ -10,6 +10,6 @@ if a debugger can regain control of an MPI program when such an error, which
|
||||
will normally cause an Abort, occurs.
|
||||
|
||||
lefthandles: This program allocates several MPI objects that are not freed.
|
||||
An MPI implmentation is not required to report this or fail in this case,
|
||||
An MPI implementation is not required to report this or fail in this case,
|
||||
but an MPI implementation that is striving to report storage leaks caused by
|
||||
user programs should report allocated and unfreed MPI objects.
|
||||
|
||||
@@ -27,7 +27,7 @@ int main(int argc, char *argv[])
|
||||
MPI_Comm_rank(split_comm, &local_rank);
|
||||
|
||||
/* two processes trying to abort on the same subcomm
|
||||
* should comlete normally, no hanging */
|
||||
* should complete normally, no hanging */
|
||||
if (rank == 1) {
|
||||
MPI_Abort(split_comm, 8);
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ int main(int argc, char *argv[])
|
||||
/* Now, try sending in MPI_COMM_WORLD on dead processes */
|
||||
/* There is a race condition here - we don't know for sure that the faulted
|
||||
* processes have exited. However, we can ensure a failure by using
|
||||
* synchronous sends - the sender will wait until the reciever handles
|
||||
* synchronous sends - the sender will wait until the receiver handles
|
||||
* receives the message, which will not happen (the process will exit
|
||||
* without matching the message, even if it has not yet exited). */
|
||||
for (j = 1; j <= wsize / 2; j++) {
|
||||
|
||||
@@ -166,7 +166,7 @@ static int TYPE_DELETE_FN(MPI_Datatype dtype, int keyval, void *outval, void *ex
|
||||
{
|
||||
if (verbose)
|
||||
printf(" In C MPI type delete function, extra = %p\n", extra);
|
||||
/* We reverse the incrment used in copy (checked after free of the type) */
|
||||
/* We reverse the increment used in copy (checked after free of the type) */
|
||||
*(int *) outval = *(int *) outval - 1;
|
||||
return MPI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ int main(int argc, char *argv[])
|
||||
printf("Unable to cancel MPI_Irecv request\n");
|
||||
}
|
||||
/* Using MPI_Request_free should be ok, but some MPI implementations
|
||||
* object to it imediately after the cancel and that isn't essential to
|
||||
* object to it immediately after the cancel and that isn't essential to
|
||||
* this test */
|
||||
|
||||
MTest_Finalize(errs);
|
||||
|
||||
@@ -66,7 +66,7 @@ c2f2ciof90_SOURCES = c2f2ciof90.f90 c2f902cio.c
|
||||
# ensure that dependent tests will be rebuilt when headers are updated
|
||||
|
||||
|
||||
# these files are genereated using testmerge (see below)
|
||||
# these files are generated using testmerge (see below)
|
||||
generated_io_sources = \
|
||||
iwriteatf90.f90 \
|
||||
iwriteatallf90.f90 \
|
||||
|
||||
@@ -48,7 +48,7 @@ int main(int argc, char *argv[])
|
||||
printf("Unable to cancel MPI_Irecv request\n");
|
||||
}
|
||||
/* Using MPI_Request_free should be ok, but some MPI implementations
|
||||
* object to it imediately after the cancel and that isn't essential to
|
||||
* object to it immediately after the cancel and that isn't essential to
|
||||
* this test */
|
||||
|
||||
MTest_Finalize(errs);
|
||||
|
||||
@@ -66,7 +66,7 @@ static mpi_names_t mpi_names[] = {
|
||||
{MPI_LONG_LONG, "MPI_LONG_LONG"},
|
||||
{MPI_UNSIGNED_LONG_LONG, "MPI_UNSIGNED_LONG_LONG"},
|
||||
{MPI_LONG_DOUBLE_INT, "MPI_LONG_DOUBLE_INT"},
|
||||
{0, (char *) 0}, /* Sentinal used to indicate the last element */
|
||||
{0, (char *) 0}, /* Sentinel used to indicate the last element */
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -110,7 +110,7 @@ int f2ctype_(MPI_Fint * fhandle, MPI_Fint * typeidx)
|
||||
* if *must* act like it - e.g., the datatype name must be the same */
|
||||
MPI_Type_get_name(ctype, mytypename, &mytypenamelen);
|
||||
if (strcmp(mytypename, mpi_names[*typeidx].name) != 0 &&
|
||||
/* LONG_LONG is a synonym of LONG_LONG_INT, thus LONG_LONG_INT is also a vaild name */
|
||||
/* LONG_LONG is a synonym of LONG_LONG_INT, thus LONG_LONG_INT is also a valid name */
|
||||
(ctype != MPI_LONG_LONG || strcmp(mytypename, "MPI_LONG_LONG_INT") != 0)) {
|
||||
errs++;
|
||||
printf("C and Fortran types for %s (c name is %s) do not match f=%d, ctof=%d.\n",
|
||||
|
||||
@@ -81,7 +81,7 @@ writeordbef.$(OBJEXT): iooffset.h
|
||||
writeordf.$(OBJEXT): iooffset.h
|
||||
|
||||
|
||||
# these files are genereated using testmerge (see below)
|
||||
# these files are generated using testmerge (see below)
|
||||
generated_io_sources = \
|
||||
iwriteatf.f \
|
||||
iwriteatallf.f \
|
||||
|
||||
@@ -166,7 +166,7 @@ static int TYPE_DELETE_FN(MPI_Datatype dtype, int keyval, void *outval, void *ex
|
||||
{
|
||||
if (verbose)
|
||||
printf(" In C MPI type delete function, extra = %p\n", extra);
|
||||
/* We reverse the incrment used in copy (checked after free of the type) */
|
||||
/* We reverse the increment used in copy (checked after free of the type) */
|
||||
*(int *) outval = *(int *) outval - 1;
|
||||
return MPI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
* This test attempts MPI_Irecv with the source being a dead process. It should fail
|
||||
* and return an error at completion. If we are testing sufficiently new MPICH, we
|
||||
* look for the MPIX_ERR_PROC_FAILED error code. These should be converted to look
|
||||
* for the standarized error code once it is finalized.
|
||||
* for the standardized error code once it is finalized.
|
||||
*/
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
* This test attempts MPI_Recv with the source being a dead process. It should fail
|
||||
* and return an error. If we are testing sufficiently new MPICH, we look for the
|
||||
* MPIX_ERR_PROC_FAILED error code. These should be converted to look for the
|
||||
* standarized error code once it is finalized.
|
||||
* standardized error code once it is finalized.
|
||||
*/
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@ int main(int argc, char *argv[])
|
||||
MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
|
||||
MPI_Comm_size(MPI_COMM_WORLD, &size);
|
||||
if (size < 8) {
|
||||
fprintf(stderr, "Test requires 8 processes (16 prefered) only %d provided\n", size);
|
||||
fprintf(stderr, "Test requires 8 processes (16 preferred) only %d provided\n", size);
|
||||
errs++;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
/*
|
||||
Test the group routines
|
||||
(some tested elsewere)
|
||||
(some tested elsewhere)
|
||||
|
||||
MPI_Group_compare
|
||||
MPI_Group_excl
|
||||
|
||||
@@ -27,7 +27,7 @@ int main(int argc, char *argv[])
|
||||
MTest_Init(&argc, &argv);
|
||||
|
||||
MPI_Info_create(&info);
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
for (i = 0; i < NKEYS; i++) {
|
||||
MPI_Info_set(info, keys[i], values[i]);
|
||||
|
||||
@@ -23,7 +23,7 @@ int main(int argc, char *argv[])
|
||||
MTest_Init(&argc, &argv);
|
||||
|
||||
MPI_Info_create(&info1);
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
MPI_Info_set(info1, (char *) "host", (char *) "myhost.myorg.org");
|
||||
MPI_Info_set(info1, (char *) "file", (char *) "runfile.txt");
|
||||
|
||||
@@ -29,7 +29,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 1,2,3 */
|
||||
MPI_Info_create(&info);
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
for (i = 0; i < NKEYS; i++) {
|
||||
MPI_Info_set(info, keys1[i], values1[i]);
|
||||
@@ -51,7 +51,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 3,2,1 */
|
||||
MPI_Info_create(&info);
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
for (i = NKEYS - 1; i >= 0; i--) {
|
||||
MPI_Info_set(info, keys1[i], values1[i]);
|
||||
@@ -73,7 +73,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 1,3,2 */
|
||||
MPI_Info_create(&info);
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
MPI_Info_set(info, keys1[0], values1[0]);
|
||||
MPI_Info_set(info, keys1[2], values1[2]);
|
||||
@@ -95,7 +95,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 2,1,3 */
|
||||
MPI_Info_create(&info);
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
MPI_Info_set(info, keys1[1], values1[1]);
|
||||
MPI_Info_set(info, keys1[0], values1[0]);
|
||||
@@ -117,7 +117,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 2,3,1 */
|
||||
MPI_Info_create(&info);
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
MPI_Info_set(info, keys1[1], values1[1]);
|
||||
MPI_Info_set(info, keys1[2], values1[2]);
|
||||
@@ -139,7 +139,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* 3,1,2 */
|
||||
MPI_Info_create(&info);
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
MPI_Info_set(info, keys1[2], values1[2]);
|
||||
MPI_Info_set(info, keys1[0], values1[0]);
|
||||
|
||||
@@ -23,7 +23,7 @@ int main(int argc, char *argv[])
|
||||
MTest_Init(&argc, &argv);
|
||||
|
||||
MPI_Info_create(&info);
|
||||
/* Use only named keys incase the info implementation only supports
|
||||
/* Use only named keys in case the info implementation only supports
|
||||
* the predefined keys (e.g., IBM) */
|
||||
for (i = 0; i < NKEYS; i++) {
|
||||
MPI_Info_set(info, keys[i], values[i]);
|
||||
|
||||
@@ -94,7 +94,7 @@ int checkAttrs(MPI_Comm comm, int n, int lkey[], int attrval[])
|
||||
fprintf(stderr, "Attribute for key %d not set\n", i);
|
||||
} else if (val_p != &attrval[i]) {
|
||||
lerrs++;
|
||||
fprintf(stderr, "Atribute value for key %d not correct\n", i);
|
||||
fprintf(stderr, "Attribute value for key %d not correct\n", i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ int main(int argc, char **argv)
|
||||
for (k = 0; k < (DATA_SIZE / sizeof(int)); k++) {
|
||||
if (verify[(HEADER + PAD) / sizeof(int) + k + j * (DATA_SIZE / sizeof(int))] != data[k]) {
|
||||
errs++;
|
||||
fprintf(stderr, "expcted %d, read %d\n", data[k],
|
||||
fprintf(stderr, "expected %d, read %d\n", data[k],
|
||||
verify[(HEADER + PAD) / sizeof(int) + k + j * (DATA_SIZE / sizeof(int))]);
|
||||
}
|
||||
i++;
|
||||
|
||||
@@ -93,7 +93,7 @@ int main(int argc, char **argv)
|
||||
if (verify[(HEADER + PAD) / sizeof(int) + k + j * (DATA_SIZE / sizeof(int))]
|
||||
!= data[k]) {
|
||||
errs++;
|
||||
fprintf(stderr, "expcted %d, read %d\n", data[k],
|
||||
fprintf(stderr, "expected %d, read %d\n", data[k],
|
||||
verify[(HEADER + PAD) / sizeof(int) + k + j * (DATA_SIZE / sizeof(int))]);
|
||||
}
|
||||
i++;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*
|
||||
* . generalized file writing/reading to handle arbitrary number of processors
|
||||
* . provides the "cb_config_list" hint with several permutations of the
|
||||
* avaliable processors.
|
||||
* available processors.
|
||||
* [ makes use of code copied from ROMIO's ADIO code to collect the names of
|
||||
* the processors ]
|
||||
*/
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
|
||||
/* this deceptively simple test uncovered a bug in the way certain file systems
|
||||
* dealt with tuning parmeters. See
|
||||
* dealt with tuning parameters. See
|
||||
* https://github.com/open-mpi/ompi/issues/158 and
|
||||
* http://trac.mpich.org/projects/mpich/ticket/2261
|
||||
*
|
||||
@@ -106,7 +106,7 @@ int main(int argc, char **argv)
|
||||
sprintf(file, "%s", opt_file);
|
||||
MPI_Info_create(&info);
|
||||
nr_errors += test_write(file, nprocs, rank, info);
|
||||
/* acutal value does not matter. test only writes a small amount of data */
|
||||
/* actual value does not matter. test only writes a small amount of data */
|
||||
MPI_Info_set(info, "striping_factor", "50");
|
||||
nr_errors += test_write(file, nprocs, rank, info);
|
||||
MPI_Info_free(&info);
|
||||
|
||||
@@ -470,7 +470,7 @@ sub ConvertTestlist {
|
||||
}
|
||||
elsif (/^c2fmult(\w*)\s+(.*)/) {
|
||||
# This is a special case for programs that are not Fortran
|
||||
# programs but are part of the Fortran tests; principly, these
|
||||
# programs but are part of the Fortran tests; principally, these
|
||||
# are the tests of MPI handle conversion
|
||||
# note the \w* instead of \w+; this allows us to match both
|
||||
# c2fmult.c and c2fmultio.c
|
||||
|
||||
@@ -132,7 +132,7 @@ sub MergeTemplate {
|
||||
if (defined($Definitions{$name})) {
|
||||
my $defn = $Definitions{$name};
|
||||
my $newdefn = "";
|
||||
# Add indentation to definition; substitute any defintions
|
||||
# Add indentation to definition; substitute any definitions
|
||||
foreach my $line (split(/\n/,$defn)) {
|
||||
print "Looking at |$line|\n" if $debug;
|
||||
$newdefn .= $indent . $line . "\n";
|
||||
|
||||
@@ -16,7 +16,7 @@ rm -f $file
|
||||
# Default number of processes to start (the test is for large numbers
|
||||
# of processes; use "manyconnect 10" to start with fewer for debugging)
|
||||
nconn=100
|
||||
# To avoid problems with listner queues, we pause every blockstart
|
||||
# To avoid problems with listener queues, we pause every blockstart
|
||||
# processes
|
||||
blockstart=10
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
/* A simple test of the proposed MPI_T_ interface that queries all of
|
||||
* the control variables exposed by the MPI implememtation and prints
|
||||
* the control variables exposed by the MPI implementation and prints
|
||||
* them to stdout.
|
||||
*
|
||||
* Author: Dave Goodell <goodell@mcs.anl.gov.
|
||||
|
||||
@@ -33,7 +33,7 @@ int err, rank;
|
||||
MPI_T_pvar_session session;
|
||||
MPI_T_pvar_handle fbox_handle;
|
||||
|
||||
/* Check that we can successfuly write to the variable.
|
||||
/* Check that we can successfully write to the variable.
|
||||
* Question: Do we really want to write pvars other than reset?
|
||||
*/
|
||||
void blank_test()
|
||||
|
||||
@@ -69,7 +69,7 @@ int main(int argc, char **argv)
|
||||
|
||||
MPI_Init(0, 0);
|
||||
|
||||
/* the existance of the file is used to decide which processes
|
||||
/* the existence of the file is used to decide which processes
|
||||
* first do a connect to the root process. */
|
||||
fh = fopen(fname, "rt");
|
||||
if (fh == NULL) {
|
||||
|
||||
@@ -65,7 +65,7 @@ int main(int argc, char **argv)
|
||||
* wait their turn by checking for the correct file to show up */
|
||||
actualFname = writePortToFile(portName, "%s.%d", fname, rankToAccept++);
|
||||
|
||||
/* The wrapper script I'm using checks for the existance of "fname", so
|
||||
/* The wrapper script I'm using checks for the existence of "fname", so
|
||||
* create that - even though it isn't used */
|
||||
globalFname = writePortToFile(portName, fname);
|
||||
installExitHandler(globalFname);
|
||||
|
||||
@@ -399,7 +399,7 @@ char *mpit_scopeToStr(int scope)
|
||||
p = "SCOPE_ALL_EQ";
|
||||
break;
|
||||
default:
|
||||
p = "Unrecoginized scope";
|
||||
p = "Unrecognized scope";
|
||||
break;
|
||||
}
|
||||
return p;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#define MAX_MSGS 30
|
||||
|
||||
/*
|
||||
static char MTEST_Descrip[] = "One implementation delivered incorrect data when an MPI recieve uses both ANY_SOURCE and ANY_TAG";
|
||||
static char MTEST_Descrip[] = "One implementation delivered incorrect data when an MPI receive uses both ANY_SOURCE and ANY_TAG";
|
||||
*/
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "mpi.h"
|
||||
#include "mpitest.h"
|
||||
|
||||
/* Test bsend with a buffer with arbitray alignment */
|
||||
/* Test bsend with a buffer with arbitrary alignment */
|
||||
#define BUFSIZE 2000*4
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
@@ -61,7 +61,7 @@ int main(int argc, char *argv[])
|
||||
if (bptr != buf + align) {
|
||||
errs++;
|
||||
printf
|
||||
("Did not recieve the same buffer on detach that was provided on init (%p vs %p)\n",
|
||||
("Did not receive the same buffer on detach that was provided on init (%p vs %p)\n",
|
||||
bptr, buf);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ int main(int argc, char **argv)
|
||||
data[0].val = 0;
|
||||
}
|
||||
MPI_Win_fence(0, win);
|
||||
/* 1.b. Large arrary test */
|
||||
/* 1.b. Large array test */
|
||||
if (me == nproc - 1) {
|
||||
MPI_Accumulate(mine, ARRAY_LEN, MPI_2INT, 0, 0, ARRAY_LEN, MPI_2INT, MPI_REPLACE, win);
|
||||
MPI_Accumulate(mine_plus, ARRAY_LEN, MPI_2INT, 0, 0, ARRAY_LEN, MPI_2INT, MPI_REPLACE, win);
|
||||
|
||||
@@ -166,7 +166,7 @@ int main(int argc, char *argv[])
|
||||
} else if (rank == target) {
|
||||
MPI_Win_fence(0, win);
|
||||
/* This should have the same effect, in terms of
|
||||
* transfering data, as a send/recv pair */
|
||||
* transferring data, as a send/recv pair */
|
||||
MTestCopyContent(targetbuf, targetbuf_h, target_obj.DTP_bufsize, targetmem);
|
||||
err = DTP_obj_buf_check(target_obj, targetbuf_h, 0, 1, count);
|
||||
if (err != DTP_SUCCESS) {
|
||||
|
||||
@@ -163,7 +163,7 @@ int main(int argc, char *argv[])
|
||||
MPI_Group_free(&neighbors);
|
||||
MPI_Win_wait(win);
|
||||
/* This should have the same effect, in terms of
|
||||
* transfering data, as a send/recv pair */
|
||||
* transferring data, as a send/recv pair */
|
||||
MTestCopyContent(targetbuf, targetbuf_h, maxbufsize, targetmem);
|
||||
err = DTP_obj_buf_check(target_obj, targetbuf_h, 0, 1, count);
|
||||
if (err != DTP_SUCCESS) {
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
/* This test is going to test the atomicity for "read-modify-write" in GACC
|
||||
* operations */
|
||||
|
||||
/* This test is similiar with atomic_rmw_fop.c.
|
||||
/* This test is similar with atomic_rmw_fop.c.
|
||||
* There are three processes involved in this test: P0 (origin_shm), P1 (origin_am),
|
||||
* and P2 (dest). P0 and P1 issues multiple GACC with MPI_SUM and OP_COUNT integers
|
||||
* (value 1) to P2 via SHM and AM respectively. The correct results should be that the
|
||||
* results on P0 and P1 never be the same for intergers on the corresponding index
|
||||
* results on P0 and P1 never be the same for integers on the corresponding index
|
||||
* in [0...OP_COUNT-1].
|
||||
*/
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ int checkAttrs(MPI_Win win, int n, int key[], int attrval[])
|
||||
fprintf(stderr, "Attribute for key %d not set\n", i);
|
||||
} else if (val_p != &attrval[i]) {
|
||||
errs++;
|
||||
fprintf(stderr, "Atribute value for key %d not correct\n", i);
|
||||
fprintf(stderr, "Attribute value for key %d not correct\n", i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
/** Contended RMA put test -- James Dinan <dinan@mcs.anl.gov>
|
||||
*
|
||||
* Each process issues COUNT put operations to non-overlapping locations on
|
||||
* every other processs.
|
||||
* every other process.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
/** Contended RMA put/get test -- James Dinan <dinan@mcs.anl.gov>
|
||||
*
|
||||
* Each process issues COUNT put and get operations to non-overlapping
|
||||
* locations on every other processs.
|
||||
* locations on every other process.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -109,7 +109,7 @@ static inline int test(MPI_Comm comm, int rank, int orig, int target,
|
||||
}
|
||||
|
||||
/* This should have the same effect, in terms of
|
||||
* transfering data, as a send/recv pair */
|
||||
* transferring data, as a send/recv pair */
|
||||
#if defined(USE_GET)
|
||||
err =
|
||||
MPI_Get(origbuf + orig_obj.DTP_buf_offset, origcount, origtype, target,
|
||||
|
||||
@@ -125,7 +125,7 @@ int main(int argc, char *argv[])
|
||||
/* Perform several communication operations, mixing synchronization
|
||||
* types. Use multiple communication to avoid the single-operation
|
||||
* optimization that may be present. */
|
||||
MTestPrintfMsg(3, "Begining loop %d of mixed sync put/acc operations\n", loop);
|
||||
MTestPrintfMsg(3, "Beginning loop %d of mixed sync put/acc operations\n", loop);
|
||||
memset(winbuf, 0, count * sizeof(int));
|
||||
MPI_Barrier(comm);
|
||||
if (crank == source) {
|
||||
@@ -170,7 +170,7 @@ int main(int argc, char *argv[])
|
||||
/* Perform several communication operations, mixing synchronization
|
||||
* types. Use multiple communication to avoid the single-operation
|
||||
* optimization that may be present. */
|
||||
MTestPrintfMsg(3, "Begining loop %d of mixed sync put/get/acc operations\n", loop);
|
||||
MTestPrintfMsg(3, "Beginning loop %d of mixed sync put/get/acc operations\n", loop);
|
||||
MPI_Barrier(comm);
|
||||
if (crank == source) {
|
||||
MPI_Win_lock(MPI_LOCK_EXCLUSIVE, dest, 0, win);
|
||||
|
||||
@@ -164,7 +164,7 @@ int main(int argc, char *argv[])
|
||||
MPI_Group_free(&neighbors);
|
||||
MPI_Win_wait(win);
|
||||
/* This should have the same effect, in terms of
|
||||
* transfering data, as a send/recv pair */
|
||||
* transferring data, as a send/recv pair */
|
||||
MTestCopyContent(targetbuf, targetbuf_h, maxbufsize, targetmem);
|
||||
err = DTP_obj_buf_check(target_obj, targetbuf_h, 0, 1, count);
|
||||
if (err != DTP_SUCCESS) {
|
||||
|
||||
@@ -772,7 +772,7 @@ sub RunMPIProgram {
|
||||
# acquire lock if requested
|
||||
my ($lockfile, $got_lock);
|
||||
if ($test_opt->{lock}) {
|
||||
# explict lock by setting "lock=[shared|name]" on testline directly
|
||||
# explicit lock by setting "lock=[shared|name]" on testline directly
|
||||
my $name = $test_opt->{lock};
|
||||
$lockfile = "/tmp/runtests-$name.lock";
|
||||
if ($name eq "shared") {
|
||||
@@ -913,7 +913,7 @@ sub AddMPIProgram {
|
||||
|
||||
if ($test_opt->{resultTest}) {
|
||||
# This test really needs to be run manually, with this test
|
||||
# Eventually, we can update this to include handleing in checktests.
|
||||
# Eventually, we can update this to include handling in checktests.
|
||||
print STDERR "Run $curdir/$programname with $np processes and use $test_opt->{resultTest} to check the results\n";
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -350,7 +350,7 @@ char *mpit_scopeToStr(int scope)
|
||||
p = "SCOPE_ALL_EQ";
|
||||
break;
|
||||
default:
|
||||
p = "Unrecoginized scope";
|
||||
p = "Unrecognized scope";
|
||||
break;
|
||||
}
|
||||
return p;
|
||||
|
||||
@@ -70,7 +70,7 @@ int main(int argc, char **argv)
|
||||
MPI_Abort(MPI_COMM_WORLD, 1);
|
||||
}
|
||||
|
||||
/* Setup bufer for bsend */
|
||||
/* Setup buffer for bsend */
|
||||
#if defined(BSEND) || defined(IBSEND)
|
||||
{
|
||||
int n_experiment_grps = 3;
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
#define ISEND_FUN MPI_Isend
|
||||
#endif
|
||||
|
||||
/* Large data tranfer */
|
||||
/* Large data transfer */
|
||||
#if defined(HUGE_COUNT)
|
||||
#define BUFF_ELEMENT_COUNT(iter, count) (count)
|
||||
/* Medium data transfer */
|
||||
|
||||
@@ -136,7 +136,7 @@ static int basic_only = 0;
|
||||
free(myname); \
|
||||
counts[cnt] = 1; bytesize[cnt] = sizeof(_ctype) * (_count); cnt++; }
|
||||
|
||||
/* This defines a structure of two basic members; by chosing things like
|
||||
/* This defines a structure of two basic members; by choosing things like
|
||||
(char, double), various packing and alignment tests can be made */
|
||||
#define SETUPSTRUCT2TYPE(_mpitype1,_ctype1,_mpitype2,_ctype2,_count,_tname) { \
|
||||
int i; char *myname; \
|
||||
|
||||
@@ -560,7 +560,7 @@ int MTestGetIntercomm(MPI_Comm * comm, int *isLeftGroup, int min_size)
|
||||
} else if (rank == size / 2) {
|
||||
rleader = 0;
|
||||
} else {
|
||||
/* Remote leader is signficant only for the processes
|
||||
/* Remote leader is significant only for the processes
|
||||
* designated local leaders */
|
||||
rleader = -1;
|
||||
}
|
||||
@@ -589,7 +589,7 @@ int MTestGetIntercomm(MPI_Comm * comm, int *isLeftGroup, int min_size)
|
||||
} else if (rank == 1) {
|
||||
rleader = 0;
|
||||
} else {
|
||||
/* Remote leader is signficant only for the processes
|
||||
/* Remote leader is significant only for the processes
|
||||
* designated local leaders */
|
||||
rleader = -1;
|
||||
}
|
||||
@@ -619,7 +619,7 @@ int MTestGetIntercomm(MPI_Comm * comm, int *isLeftGroup, int min_size)
|
||||
} else if (rank == 2) {
|
||||
rleader = 0;
|
||||
} else {
|
||||
/* Remote leader is signficant only for the processes
|
||||
/* Remote leader is significant only for the processes
|
||||
* designated local leaders */
|
||||
rleader = -1;
|
||||
}
|
||||
@@ -649,7 +649,7 @@ int MTestGetIntercomm(MPI_Comm * comm, int *isLeftGroup, int min_size)
|
||||
} else if (rank == size / 2) {
|
||||
rleader = 0;
|
||||
} else {
|
||||
/* Remote leader is signficant only for the processes
|
||||
/* Remote leader is significant only for the processes
|
||||
* designated local leaders */
|
||||
rleader = -1;
|
||||
}
|
||||
@@ -689,7 +689,7 @@ int MTestGetIntercomm(MPI_Comm * comm, int *isLeftGroup, int min_size)
|
||||
} else if (rank == size / 2) {
|
||||
rleader = 0;
|
||||
} else {
|
||||
/* Remote leader is signficant only for the processes
|
||||
/* Remote leader is significant only for the processes
|
||||
* designated local leaders */
|
||||
rleader = -1;
|
||||
}
|
||||
@@ -740,7 +740,7 @@ int MTestGetIntercomm(MPI_Comm * comm, int *isLeftGroup, int min_size)
|
||||
} else if (rank == (size / 2)) {
|
||||
rleader = 1;
|
||||
} else {
|
||||
/* Remote leader is signficant only for the processes
|
||||
/* Remote leader is significant only for the processes
|
||||
* designated local leaders */
|
||||
rleader = -1;
|
||||
}
|
||||
@@ -781,7 +781,7 @@ int MTestGetIntercomm(MPI_Comm * comm, int *isLeftGroup, int min_size)
|
||||
} else if (rank == (size / 2)) {
|
||||
rleader = 0;
|
||||
} else {
|
||||
/* Remote leader is signficant only for the processes
|
||||
/* Remote leader is significant only for the processes
|
||||
* designated local leaders */
|
||||
rleader = -1;
|
||||
}
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
/* ------------------------------------------------------------------------ */
|
||||
/* Utilities related to test environment */
|
||||
|
||||
/* Some tests would like to test with large buffer, but an arbitary size may fail
|
||||
/* Some tests would like to test with large buffer, but an arbitrary size may fail
|
||||
on machines that does not have sufficient memory or the OS may not support it.
|
||||
This routine provides a portable interface to get that max size.
|
||||
It is taking the simpliest solution here: default to 2GB, unless user set via
|
||||
It is taking the simplest solution here: default to 2GB, unless user set via
|
||||
environment variable -- MPITEST_MAXBUFFER
|
||||
*/
|
||||
MPI_Aint MTestDefaultMaxBufferSize()
|
||||
@@ -236,7 +236,7 @@ void MTestAlloc(size_t size, mtest_mem_type_e type, void **hostbuf, void **devic
|
||||
|
||||
#ifdef HAVE_ZE
|
||||
if (device_id == -1) {
|
||||
/* Initilize ZE driver and device only at first call. */
|
||||
/* Initialize ZE driver and device only at first call. */
|
||||
device_id = 0;
|
||||
zerr = zeInit(0);
|
||||
assert(zerr == ZE_RESULT_SUCCESS);
|
||||
|
||||
@@ -270,7 +270,7 @@ int MTestGetIntercomm(MPI::Intercomm & comm, int &isLeftGroup, int min_size)
|
||||
} else if (rank == size / 2) {
|
||||
rleader = 0;
|
||||
} else {
|
||||
/* Remote leader is signficant only for the processes
|
||||
/* Remote leader is significant only for the processes
|
||||
* designated local leaders */
|
||||
rleader = -1;
|
||||
}
|
||||
@@ -293,7 +293,7 @@ int MTestGetIntercomm(MPI::Intercomm & comm, int &isLeftGroup, int min_size)
|
||||
} else if (rank == 1) {
|
||||
rleader = 0;
|
||||
} else {
|
||||
/* Remote leader is signficant only for the processes
|
||||
/* Remote leader is significant only for the processes
|
||||
* designated local leaders */
|
||||
rleader = -1;
|
||||
}
|
||||
@@ -317,7 +317,7 @@ int MTestGetIntercomm(MPI::Intercomm & comm, int &isLeftGroup, int min_size)
|
||||
} else if (rank == 2) {
|
||||
rleader = 0;
|
||||
} else {
|
||||
/* Remote leader is signficant only for the processes
|
||||
/* Remote leader is significant only for the processes
|
||||
* designated local leaders */
|
||||
rleader = -1;
|
||||
}
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário