Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
sds
sds-tests
Commits
b0d10c5c
Commit
b0d10c5c
authored
Dec 10, 2019
by
Rob Latham
Browse files
Add "ssg from separate processes" test from ssg repo
parent
53c8b94d
Changes
4
Hide whitespace changes
Inline
Side-by-side
configure.ac
View file @
b0d10c5c
...
...
@@ -88,6 +88,7 @@ AC_LINK_IFELSE(
AM_CONDITIONAL([HAVE_MARGO], [test "x${have_mpi}" = x1 && test "x${have_margo}" = x1 && test "x${have_ssg}" = x1 && test "x${have_ssg_mpi}" = x1])
AM_CONDITIONAL([HAVE_BAKE], [test "x${have_mpi}" = x1 && test "x${have_bake_client}" = x1 && test "x${have_bake_server}" = x1 && test "x${have_ssg}" = x1 && test "x${have_ssg_mpi}" = x1])
AM_CONDITIONAL([HAVE_PMDK], [test "x${have_libpmemobj}" = x1 && test "x${have_argobots}" = x1])
AM_CONDITIONAL([HAVE_SSG], [test "x${have_ssg}" = x1 && test "x${have_ssg_mpi}" = x1])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
...
...
perf-regression/Makefile.subdir
View file @
b0d10c5c
...
...
@@ -2,6 +2,11 @@ if HAVE_MARGO
bin_PROGRAMS
+=
perf-regression/margo-p2p-latency perf-regression/margo-p2p-bw
endif
if
HAVE_SSG
bin_PROGRAMS
+=
perf-regression/ssg-test-separate-group-create
\
perf-regression/ssg-test-separate-group-attach
endif
if
HAVE_BAKE
bin_PROGRAMS
+=
perf-regression/bake-p2p-bw
endif
...
...
perf-regression/ssg-test-separate-group-attach.c
0 → 100644
View file @
b0d10c5c
#include
<mpi.h>
#include
<ssg.h>
#include
<assert.h>
int
main
(
int
argc
,
char
**
argv
)
{
int
ret
;
ssg_group_id_t
gid
;
margo_instance_id
mid
;
MPI_Init
(
&
argc
,
&
argv
);
mid
=
margo_init
(
argv
[
1
],
MARGO_CLIENT_MODE
,
0
,
1
);
ssg_init
();
int
count
=
1
;
ret
=
ssg_group_id_load
(
argv
[
2
],
&
count
,
&
gid
);
assert
(
ret
==
SSG_SUCCESS
);
fprintf
(
stderr
,
" attaching...
\n
"
);
ret
=
ssg_group_observe
(
mid
,
gid
);
fprintf
(
stderr
,
" attached...
\n
"
);
fprintf
(
stderr
,
" dumping...
\n
"
);
ssg_group_dump
(
gid
);
fprintf
(
stderr
,
" dumped...
\n
"
);
ssg_group_unobserve
(
gid
);
margo_finalize
(
mid
);
MPI_Finalize
();
}
perf-regression/ssg-test-separate-group-create.c
0 → 100644
View file @
b0d10c5c
#include
<ssg.h>
#include
<ssg-mpi.h>
#define GROUP_NAME "test-group"
#define ASSERT(__cond, __msg, ...) { if(!(__cond)) { fprintf(stderr, "[%s:%d] " __msg, __FILE__, __LINE__, __VA_ARGS__); exit(-1); } }
static
void
finalized_ssg_group_cb
(
void
*
data
)
{
ssg_group_id_t
gid
=
*
((
ssg_group_id_t
*
)
data
);
ssg_group_destroy
(
gid
);
}
int
main
(
int
argc
,
char
**
argv
)
{
int
ret
,
rank
;
ssg_group_id_t
gid
;
margo_instance_id
mid
;
mid
=
margo_init
(
argv
[
1
],
MARGO_SERVER_MODE
,
0
,
1
);
margo_enable_remote_shutdown
(
mid
);
hg_addr_t
my_address
;
margo_addr_self
(
mid
,
&
my_address
);
char
addr_str
[
128
];
size_t
addr_str_size
=
128
;
margo_addr_to_string
(
mid
,
addr_str
,
&
addr_str_size
,
my_address
);
margo_addr_free
(
mid
,
my_address
);
printf
(
"Server running at address %s
\n
"
,
addr_str
);
MPI_Init
(
&
argc
,
&
argv
);
ret
=
ssg_init
();
ASSERT
(
ret
==
0
,
"ssg_init failed (ret = %d)
\n
"
,
ret
);
gid
=
ssg_group_create_mpi
(
mid
,
GROUP_NAME
,
MPI_COMM_WORLD
,
NULL
,
NULL
,
NULL
);
if
(
gid
==
SSG_GROUP_ID_INVALID
)
{
fprintf
(
stderr
,
"ssg_group_create_mpi failed
\n
"
);
exit
(
-
1
);
}
margo_push_finalize_callback
(
mid
,
&
finalized_ssg_group_cb
,
(
void
*
)
&
gid
);
MPI_Comm_rank
(
MPI_COMM_WORLD
,
&
rank
);
if
(
rank
==
0
)
ssg_group_id_store
(
argv
[
2
],
gid
,
1
);
fprintf
(
stderr
,
" just hanging out...
\n
"
);
margo_wait_for_finalize
(
mid
);
ssg_group_destroy
(
gid
);
margo_finalize
(
mid
);
MPI_Finalize
();
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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