示例#1
0
int
main(int argc, char *argv[])
{
    struct hg_test_info hg_test_info = { 0 };
    unsigned int nhandles;
    size_t size;

    HG_Test_init(argc, argv, &hg_test_info);

    for (nhandles = 1; nhandles <= MAX_HANDLES; nhandles *= 2) {
        if (hg_test_info.na_test_info.mpi_comm_rank == 0) {
            fprintf(stdout, "# %s v%s\n", BENCHMARK_NAME, VERSION_NAME);
            fprintf(stdout, "# Loop %d times from size %d to %d byte(s) with "
                "%u handle(s)\n",
                MERCURY_TESTING_MAX_LOOP, 1, MAX_MSG_SIZE, nhandles);
#ifdef MERCURY_TESTING_HAS_VERIFY_DATA
            fprintf(stdout, "# WARNING verifying data, output will be slower\n");
#endif
            fprintf(stdout, "%-*s%*s\n", 10, "# Size", NWIDTH,
                "Bandwidth (MB/s)");
            fflush(stdout);
        }

        for (size = 1; size <= MAX_MSG_SIZE; size *= 2)
            measure_bulk_transfer(&hg_test_info, size, nhandles);

        fprintf(stdout, "\n");
    }

    HG_Test_finalize(&hg_test_info);

    return EXIT_SUCCESS;
}
示例#2
0
int
main(int argc, char *argv[])
{
    hg_class_t *hg_class = NULL;
    hg_context_t *context = NULL;
    hg_request_class_t *request_class = NULL;
    na_addr_t addr;

    hg_class = HG_Test_client_init(argc, argv, &addr, &na_test_comm_rank_g,
            &context, &request_class);

    /* Run RPC test */
    measure_rpc(hg_class, context, addr, request_class);

    NA_Test_barrier();

    /* Run Bulk test */
    measure_bulk_transfer(hg_class, context, addr, request_class);

    HG_Test_finalize(hg_class);

    return EXIT_SUCCESS;
}