--- trunk/uoms/src/utils/data_print.upc 2010/04/23 09:49:46 7 +++ trunk/uoms/src/utils/data_print.upc 2010/11/29 18:07:07 14 @@ -1,51 +1,51 @@ -/*****************************************************************************/ -/* */ -/* 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) */ -/* */ -/*****************************************************************************/ +/******************************************************************************/ +/* */ +/* 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. */ +/* (UPCPUProject -> UPC Performance and Usability Project) */ +/* */ +/******************************************************************************/ -/***************************************************************************** +/****************************************************************************** For further documentation, see [1] Files under doc/ -******************************************************************************/ +*******************************************************************************/ #include #include @@ -73,24 +73,24 @@ double factor=1.0; switch (operation_code) { + case FORALL_R: + case FORALL_W: + case FORALL_RW: + case FOR_R: + case FOR_W: + case FOR_RW: case BROADCAST: + case SCATTER: + case GATHER: + case PERMUTE: factor = THREADS; break; case EXCHANGE: factor = THREADS*THREADS; break; - case GATHERALL: + case GATHERALL: factor = THREADS+THREADS*THREADS; break; - case SCATTER: - factor = THREADS; - break; - case GATHER: - factor = THREADS; - break; - case PERMUTE: - factor = THREADS; - break; default: factor = 1.0; break; @@ -227,65 +227,71 @@ char *funcname; - switch (operation) { - case BROADCAST: - case SCATTER: - case GATHER: - case GATHERALL: - case EXCHANGE: - case PERMUTE: - case BARRIER: - case MEMGET: - case MEMPUT: - case MEMCPY: - case LMEMGET: - case LMEMPUT: - case LMEMCPY: - case SMEMCPY: - case MEMMOVE: - case ALLALLOC: - case FREE: - case REDUCE_C: - case PREFIX_REDUCE_C: - case REDUCE_UC: - case PREFIX_REDUCE_UC: - case REDUCE_S: - case PREFIX_REDUCE_S: - case REDUCE_US: - case PREFIX_REDUCE_US: - case REDUCE_I: - case PREFIX_REDUCE_I: - case REDUCE_UI: - case PREFIX_REDUCE_UI: - case REDUCE_L: - case PREFIX_REDUCE_L: - case REDUCE_UL: - case PREFIX_REDUCE_UL: - case REDUCE_F: - case PREFIX_REDUCE_F: - case REDUCE_D: - case PREFIX_REDUCE_D: - case REDUCE_LD: - case PREFIX_REDUCE_LD: + switch (operation) { + case FORALL_R: + case FORALL_W: + case FORALL_RW: + case FOR_R: + case FOR_W: + case FOR_RW: + case BROADCAST: + case SCATTER: + case GATHER: + case GATHERALL: + case EXCHANGE: + case PERMUTE: + case BARRIER: + case MEMGET: + case MEMPUT: + case MEMCPY: + case LMEMGET: + case LMEMPUT: + case LMEMCPY: + case SMEMCPY: + case MEMMOVE: + case ALLALLOC: + case FREE: + case REDUCE_C: + case PREFIX_REDUCE_C: + case REDUCE_UC: + case PREFIX_REDUCE_UC: + case REDUCE_S: + case PREFIX_REDUCE_S: + case REDUCE_US: + case PREFIX_REDUCE_US: + case REDUCE_I: + case PREFIX_REDUCE_I: + case REDUCE_UI: + case PREFIX_REDUCE_UI: + case REDUCE_L: + case PREFIX_REDUCE_L: + case REDUCE_UL: + case PREFIX_REDUCE_UL: + case REDUCE_F: + case PREFIX_REDUCE_F: + case REDUCE_D: + case PREFIX_REDUCE_D: + case REDUCE_LD: + case PREFIX_REDUCE_LD: #ifdef ASYNC_MEM_TEST - case AMEMGET: - case AMEMPUT: - case AMEMCPY: - case ALMEMGET: - case ALMEMPUT: - case ALMEMCPY: + case AMEMGET: + case AMEMPUT: + case AMEMCPY: + case ALMEMGET: + case ALMEMPUT: + case ALMEMCPY: #endif #ifdef ASYNCI_MEM_TEST - case AIMEMGET: - case AIMEMPUT: - case AIMEMCPY: - case AILMEMGET: - case AILMEMPUT: - case AILMEMCPY: + case AIMEMGET: + case AIMEMPUT: + case AIMEMCPY: + case AILMEMGET: + case AILMEMPUT: + case AILMEMCPY: #endif - funcname = valid_bms[operation]; - break; - default: funcname = "Not yet defined"; + funcname = valid_bms[operation]; + break; + default: funcname = "Not yet defined"; }