https://gitlab.inria.fr/pm2/pm2
Tip revision: 28348cbb7443cecb94f0380eacf8e9c4fd3b247e authored by Alexandre Denis on 11 July 2022, 16:08:29 UTC
nmad: some more error-checking on remote queues
nmad: some more error-checking on remote queues
Tip revision: 28348cb
mpi_bench_suite_rmaoverlap.c
/*
* MadMPI benchmark
* Copyright (C) 2016 (see AUTHORS file)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*/
#include <stdlib.h>
#include "mpi_bench_generic.h"
extern const struct mpi_bench_s mpi_bench_sendrecv;
extern const struct mpi_bench_s mpi_bench_rma_put_active;
extern const struct mpi_bench_s mpi_bench_rma_put_passive;
extern const struct mpi_bench_s mpi_bench_rma_put_noncontig;
extern const struct mpi_bench_s mpi_bench_rma_get_active;
extern const struct mpi_bench_s mpi_bench_rma_accumulate_active;
extern const struct mpi_bench_s mpi_bench_rmaoverlap_put_origin;
extern const struct mpi_bench_s mpi_bench_rmaoverlap_put_target;
extern const struct mpi_bench_s mpi_bench_rmaoverlap_put_passive;
extern const struct mpi_bench_s mpi_bench_rmaoverlap_put_noncontig;
extern const struct mpi_bench_s mpi_bench_rmaoverlap_get_active;
extern const struct mpi_bench_s mpi_bench_rmaoverlap_accumulate;
int main(int argc, char**argv)
{
struct mpi_bench_param_s params =
{
.start_len = MIN_DEFAULT,
.end_len = MAX_DEFAULT,
.multiplier = MULT_DEFAULT,
.increment = INCR_DEFAULT,
.iterations = LOOPS_DEFAULT,
.param = PARAM_DEFAULT
};
mpi_bench_init(&argc, &argv, 0);
mpi_bench_run(&mpi_bench_sendrecv, ¶ms);
mpi_bench_run(&mpi_bench_rma_put_active, ¶ms);
mpi_bench_run(&mpi_bench_rma_put_passive, ¶ms);
mpi_bench_run(&mpi_bench_rma_put_noncontig, ¶ms);
mpi_bench_run(&mpi_bench_rma_get_active, ¶ms);
mpi_bench_run(&mpi_bench_rma_accumulate_active, ¶ms);
params.iterations = LOOPS_DEFAULT_PARAM;
mpi_bench_run(&mpi_bench_rmaoverlap_put_origin, ¶ms);
mpi_bench_run(&mpi_bench_rmaoverlap_put_target, ¶ms);
mpi_bench_run(&mpi_bench_rmaoverlap_put_passive, ¶ms);
mpi_bench_run(&mpi_bench_rmaoverlap_put_noncontig, ¶ms);
mpi_bench_run(&mpi_bench_rmaoverlap_get_active, ¶ms);
mpi_bench_run(&mpi_bench_rmaoverlap_accumulate, ¶ms);
mpi_bench_finalize();
exit(0);
}