/*****************************************************************************/ /* */ /* 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 . */ /* */ /*****************************************************************************/ /*****************************************************************************/ /* */ /* 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. */ /* (UPCPU­Project -> UPC Performance and Usability Project) */ /* */ /*****************************************************************************/ /***************************************************************************** For further documentation, see [1] Files under doc/ ******************************************************************************/ #include /* 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);