/*****************************************************************************/
/* */
/* Copyright (c) 2008, 2009, 2010 */
/* Computer Architecture Group (CAG) */
/* University of A Coruña, Spain */
/* (http://gac.des.udc.es) */
/* Galicia Supercomputing Center (CESGA) */
/* (http://www.cesga.es) */
/* Hewlett-Packard Spain (HP) */
/* (http://www.hp.es) */
/* */
/* This file is part of UPC Operations Microbenchmarking Suite (UOMS). */
/* */
/* UOMS is free software: you can redistribute it and/or modify */
/* it under the terms of the GNU Lesser General Public License as published */
/* by the Free Software Foundation, either version 3 of the License, or */
/* (at your option) any later version. */
/* */
/* UOMS 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 Lesser General Public License for more details. */
/* */
/* You should have received a copy of the GNU Lesser General Public License */
/* along with UOMS. If not, see <http://www.gnu.org/licenses/>. */
/* */
/*****************************************************************************/
/*****************************************************************************/
/* */
/* FUNDING: This development has been funded by Hewlett-Packard Spain */
/* */
/* Project Name: */
/* UPCHACO (2008-2011) */
/* Subproject: */
/* Improving UPC Usability and Performance in Constellation Systems: */
/* Implementation/Extensions of UPC Libraries. */
/* (UPCPUProject -> UPC Performance and Usability Project) */
/* */
/*****************************************************************************/
/*****************************************************************************
For further documentation, see
[1] Files under doc/
******************************************************************************/
#include <stdint.h>
/*
niters: give the number of iterations provided a message size
*/
int niters(int);
//affinity UOMS function info
void UOMS_coreaffinity_info(int, int, long);
void init();
//general UOMS info
void UOMS_general_info();
//particular UOMS function info
void UOMS_function_info(int, int, int);
int operation_header(int);
void print_performance_data(int, int, int, uint64_t, uint64_t, uint64_t);
void function(int, long int, long int);
void bench(int);
void bench_p2p_operations();
void bench_p2p_loperations();
void affinity_bench(int);
void print_usage(char *);
void print_version();
int p2poperation(int);
int allocate_arrays(int ,long int,long int);
void free_arrays(int);