Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Rob Latham
MPICH-BlueGene
Commits
18b18311
Commit
18b18311
authored
Jan 29, 2015
by
Wesley Bland
Committed by
Huiwei Lu
Jan 30, 2015
Browse files
Add test for non-blocking collective failures
Signed-off-by:
Huiwei Lu
<
huiweilu@mcs.anl.gov
>
parent
48d797a9
Changes
3
Hide whitespace changes
Inline
Side-by-side
test/mpi/ft/Makefile.am
View file @
18b18311
...
...
@@ -15,4 +15,4 @@ EXTRA_DIST = testlist
noinst_PROGRAMS
=
die abort sendalive isendalive senddead recvdead isenddead
\
irecvdead barrier gather reduce bcast scatter failure_ack
\
anysource revoke_nofail shrink agree multi_isendalive
\
agree_shrink revoke_shrink
agree_shrink revoke_shrink
nbccoll
test/mpi/ft/nbccoll.c
0 → 100644
View file @
18b18311
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
/*
*
* (C) 2003 by Argonne National Laboratory.
* See COPYRIGHT in top-level directory.
*/
#include "mpi.h"
#include <stdio.h>
#include <stdlib.h>
/*
* This test checks if a non-blocking collective failing impacts the result
* of another operation going on at the same time.
*/
int
main
(
int
argc
,
char
**
argv
)
{
int
rank
,
size
;
int
err
;
int
excl
;
MPI_Comm
small_comm
;
MPI_Group
orig_grp
,
small_grp
;
MPI_Request
req
;
MPI_Status
status
;
MPI_Init
(
&
argc
,
&
argv
);
MPI_Comm_rank
(
MPI_COMM_WORLD
,
&
rank
);
MPI_Comm_size
(
MPI_COMM_WORLD
,
&
size
);
MPI_Comm_set_errhandler
(
MPI_COMM_WORLD
,
MPI_ERRORS_RETURN
);
MPI_Comm_group
(
MPI_COMM_WORLD
,
&
orig_grp
);
MPI_Group_size
(
orig_grp
,
&
excl
);
excl
--
;
MPI_Group_excl
(
orig_grp
,
1
,
&
excl
,
&
small_grp
);
MPI_Comm_create_group
(
MPI_COMM_WORLD
,
small_grp
,
0
,
&
small_comm
);
MPI_Group_free
(
&
orig_grp
);
MPI_Group_free
(
&
small_grp
);
if
(
size
<
4
)
{
fprintf
(
stderr
,
"Must run with at least 2 processes
\n
"
);
MPI_Abort
(
MPI_COMM_WORLD
,
1
);
}
if
(
rank
==
excl
)
{
exit
(
EXIT_FAILURE
);
}
MPI_Ibarrier
(
MPI_COMM_WORLD
,
&
req
);
err
=
MPI_Barrier
(
small_comm
);
if
(
err
!=
MPI_SUCCESS
)
{
int
ec
;
MPI_Error_class
(
err
,
&
ec
);
fprintf
(
stderr
,
"Result != MPI_SUCCESS: %d
\n
"
,
ec
);
MPI_Abort
(
MPI_COMM_WORLD
,
1
);
}
err
=
MPI_Wait
(
&
req
,
&
status
);
if
(
err
==
MPI_SUCCESS
)
{
int
ec
,
ec2
;
MPI_Error_class
(
err
,
&
ec
);
MPI_Error_class
(
status
.
MPI_ERROR
,
&
ec2
);
fprintf
(
stderr
,
"Result != MPIX_ERR_PROC_FAILED: %d Status: %d
\n
"
,
ec
,
ec2
);
MPI_Abort
(
MPI_COMM_WORLD
,
1
);
}
MPI_Comm_free
(
&
small_comm
);
if
(
rank
==
0
)
{
printf
(
" No Errors
\n
"
);
fflush
(
stdout
);
}
MPI_Finalize
();
return
0
;
}
test/mpi/ft/testlist
View file @
18b18311
...
...
@@ -17,4 +17,5 @@ revoke_nofail 2 env=MPIR_CVAR_ENABLE_FT=1 strict=false timeLimit=10
shrink 8 env=MPIR_CVAR_ENABLE_FT=1 mpiexecarg=-disable-auto-cleanup resultTest=TestStatusNoErrors strict=false timeLimit=10
agree 4 env=MPIR_CVAR_ENABLE_FT=1 mpiexecarg=-disable-auto-cleanup resultTest=TestStatusNoErrors strict=false timeLimit=10
agree_shrink 4 env=MPIR_CVAR_ENABLE_FT=1 mpiexecarg=-disable-auto-cleanup resultTest=TestStatusNoErrors strict=false timeLimit=10
revoke_shrink 4 env=MPIR_CVAR_ENABLE=1 mpiexecarg=-disable-auto-cleanup resultTest=TestStatusNoErrors strict=false timeLimit=10 xfail=2198
revoke_shrink 4 env=MPIR_CVAR_ENABLE_FT=1 mpiexecarg=-disable-auto-cleanup resultTest=TestStatusNoErrors strict=false timeLimit=10 xfail=2198
nbccoll 4 env=MPIR_CVAR_ENABLE_FT=1 mpiexecarg=-disable-auto-cleanup resultTest=TestStatusNoErrors strict=false timeLimit=10
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment