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
910b30b0
Commit
910b30b0
authored
Jun 10, 2015
by
Xin Zhao
Browse files
Add a test for large ACC operations working with MPI_Win_flush_local.
Signed-off-by:
Pavan Balaji
<
balaji@anl.gov
>
parent
4b688bf2
Changes
3
Hide whitespace changes
Inline
Side-by-side
test/mpi/rma/Makefile.am
View file @
910b30b0
...
...
@@ -146,7 +146,8 @@ noinst_PROGRAMS = \
atomic_rmw_gacc
\
acc-pairtype
\
manyget
\
derived-acc-flush_local
derived-acc-flush_local
\
large-acc-flush_local
if
BUILD_MPIX_TESTS
noinst_PROGRAMS
+=
aint
...
...
test/mpi/rma/large-acc-flush_local.c
0 → 100644
View file @
910b30b0
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
/*
* (C) 2015 by Argonne National Laboratory.
* See COPYRIGHT in top-level directory.
*/
/* This code tests the case when origin process issues 10 ACC
* operations for each data size to the target process, and each
* operation is followed by a MPI_Win_flush_local. */
/* FIXME: we should merge this into a comprehensive test for RMA
* operations + MPI_Win_flush_local. */
#include "mpi.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MIN_DATA_SIZE (262144)
#define MAX_DATA_SIZE (8 * 262144)
#define OPS_NUM 10
#define LOOP 500
int
main
(
int
argc
,
char
*
argv
[])
{
int
rank
,
nproc
,
i
,
j
;
MPI_Win
win
;
int
*
tar_buf
=
NULL
;
int
*
orig_buf
=
NULL
;
int
data_size
;
MPI_Init
(
&
argc
,
&
argv
);
MPI_Comm_size
(
MPI_COMM_WORLD
,
&
nproc
);
MPI_Comm_rank
(
MPI_COMM_WORLD
,
&
rank
);
MPI_Alloc_mem
(
MAX_DATA_SIZE
,
MPI_INFO_NULL
,
&
orig_buf
);
MPI_Alloc_mem
(
MAX_DATA_SIZE
,
MPI_INFO_NULL
,
&
tar_buf
);
/* run this test for LOOP times */
for
(
j
=
0
;
j
<
LOOP
;
j
++
)
{
MPI_Win_create
(
tar_buf
,
MAX_DATA_SIZE
,
1
,
MPI_INFO_NULL
,
MPI_COMM_WORLD
,
&
win
);
MPI_Win_lock_all
(
0
,
win
);
if
(
rank
!=
0
)
{
for
(
data_size
=
MIN_DATA_SIZE
;
data_size
<=
MAX_DATA_SIZE
;
data_size
*=
2
)
{
for
(
i
=
0
;
i
<
OPS_NUM
;
i
++
)
{
MPI_Accumulate
(
orig_buf
,
data_size
,
MPI_BYTE
,
0
,
0
,
data_size
,
MPI_BYTE
,
MPI_SUM
,
win
);
MPI_Win_flush_local
(
0
,
win
);
}
MPI_Win_flush
(
0
,
win
);
}
}
MPI_Win_unlock_all
(
win
);
MPI_Win_free
(
&
win
);
}
if
(
rank
==
0
)
printf
(
" No Errors
\n
"
);
MPI_Free_mem
(
orig_buf
);
MPI_Free_mem
(
tar_buf
);
MPI_Finalize
();
return
0
;
}
test/mpi/rma/testlist.in
View file @
910b30b0
...
...
@@ -135,6 +135,7 @@ aint 2 mpiversion=3.1
acc-pairtype 2
manyget 2
derived-acc-flush_local 3 mpiversion=3.0
large-acc-flush_local 3 mpiversion=3.0
## This test is not strictly correct. This was meant to test out the
## case when MPI_Test is not nonblocking. However, we ended up
...
...
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