--- trunk/uoms/src/defines.h 2010/05/12 11:28:19 13 +++ trunk/uoms/src/defines.h 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/ -******************************************************************************/ +*******************************************************************************/ /* Do not edit this file! @@ -72,92 +72,100 @@ #ifdef ASYNCI_MEM_TEST #ifdef ASYNC_MEM_TEST - #define NUM_BMS 51 + #define NUM_BMS 57 #else - #define NUM_BMS 45 + #define NUM_BMS 51 #endif #else #ifdef ASYNC_MEM_TEST - #define NUM_BMS 45 + #define NUM_BMS 51 #else - #define NUM_BMS 39 + #define NUM_BMS 45 #endif #endif -#define VERSION "1.0" +#define VERSION "1.1" -#define BARRIER 0 -#define BROADCAST 1 -#define SCATTER 2 -#define GATHER 3 -#define GATHERALL 4 -#define EXCHANGE 5 -#define PERMUTE 6 -#define MEMGET 7 -#define MEMPUT 8 -#define MEMCPY 9 -#define LMEMGET 10 -#define LMEMPUT 11 -#define LMEMCPY 12 -#define SMEMCPY 13 -#define MEMMOVE 14 - -#define ALLALLOC 15 -#define FREE 16 - -#define REDUCE_C 17 -#define PREFIX_REDUCE_C 18 -#define REDUCE_UC 19 -#define PREFIX_REDUCE_UC 20 -#define REDUCE_S 21 -#define PREFIX_REDUCE_S 22 -#define REDUCE_US 23 -#define PREFIX_REDUCE_US 24 -#define REDUCE_I 25 -#define PREFIX_REDUCE_I 26 -#define REDUCE_UI 27 -#define PREFIX_REDUCE_UI 28 -#define REDUCE_L 29 -#define PREFIX_REDUCE_L 30 -#define REDUCE_UL 31 -#define PREFIX_REDUCE_UL 32 -#define REDUCE_F 33 -#define PREFIX_REDUCE_F 34 -#define REDUCE_D 35 -#define PREFIX_REDUCE_D 36 -#define REDUCE_LD 37 -#define PREFIX_REDUCE_LD 38 +#define FORALL_R 0 +#define FORALL_W 1 +#define FORALL_RW 2 + +#define FOR_R 3 +#define FOR_W 4 +#define FOR_RW 5 + +#define BARRIER 6 +#define BROADCAST 7 +#define SCATTER 8 +#define GATHER 9 +#define GATHERALL 10 +#define EXCHANGE 11 +#define PERMUTE 12 +#define MEMGET 13 +#define MEMPUT 14 +#define MEMCPY 15 +#define LMEMGET 16 +#define LMEMPUT 17 +#define LMEMCPY 18 +#define SMEMCPY 19 +#define MEMMOVE 20 + +#define ALLALLOC 21 +#define FREE 22 + +#define REDUCE_C 23 +#define PREFIX_REDUCE_C 24 +#define REDUCE_UC 25 +#define PREFIX_REDUCE_UC 26 +#define REDUCE_S 27 +#define PREFIX_REDUCE_S 28 +#define REDUCE_US 29 +#define PREFIX_REDUCE_US 30 +#define REDUCE_I 31 +#define PREFIX_REDUCE_I 32 +#define REDUCE_UI 33 +#define PREFIX_REDUCE_UI 34 +#define REDUCE_L 35 +#define PREFIX_REDUCE_L 36 +#define REDUCE_UL 37 +#define PREFIX_REDUCE_UL 38 +#define REDUCE_F 39 +#define PREFIX_REDUCE_F 40 +#define REDUCE_D 41 +#define PREFIX_REDUCE_D 42 +#define REDUCE_LD 43 +#define PREFIX_REDUCE_LD 44 #ifdef ASYNCI_MEM_TEST #ifdef ASYNC_MEM_TEST - #define AMEMGET 39 - #define AMEMPUT 40 - #define AMEMCPY 41 - #define ALMEMGET 42 - #define ALMEMPUT 43 - #define ALMEMCPY 44 + #define AMEMGET 45 + #define AMEMPUT 46 + #define AMEMCPY 47 + #define ALMEMGET 48 + #define ALMEMPUT 49 + #define ALMEMCPY 50 + #define AIMEMGET 51 + #define AIMEMPUT 52 + #define AIMEMCPY 53 + #define AILMEMGET 54 + #define AILMEMPUT 55 + #define AILMEMCPY 56 + #else #define AIMEMGET 45 #define AIMEMPUT 46 #define AIMEMCPY 47 #define AILMEMGET 48 #define AILMEMPUT 49 #define AILMEMCPY 50 - #else - #define AIMEMGET 39 - #define AIMEMPUT 40 - #define AIMEMCPY 41 - #define AILMEMGET 42 - #define AILMEMPUT 43 - #define AILMEMCPY 44 #endif #else #ifdef ASYNC_MEM_TEST - #define AMEMGET 39 - #define AMEMPUT 40 - #define AMEMCPY 41 - #define ALMEMGET 42 - #define ALMEMPUT 43 - #define ALMEMCPY 44 + #define AMEMGET 45 + #define AMEMPUT 46 + #define AMEMCPY 47 + #define ALMEMGET 48 + #define ALMEMPUT 49 + #define ALMEMCPY 50 #endif #endif @@ -165,19 +173,19 @@ if( var == NULL ){ \ printf("TH%02d: ERROR: %s == NULL\n", MYTHREAD, #var ); \ mem_is_ok = -1; \ - } \ - else{ \ - mem_is_ok = 0; \ - } \ + } \ + else{ \ + mem_is_ok = 0; \ + } \ } #define UPCMEM_OK(var) { \ if( var == NULL ){ \ printf("TH%02d: ERROR: %s == NULL\n", MYTHREAD, #var ); \ - if (!MYTHREAD) upc_free(var); \ + if (!MYTHREAD) upc_free(var); \ mem_is_ok = -1; \ - } \ - else{ \ - mem_is_ok = 0; \ - } \ + } \ + else{ \ + mem_is_ok = 0; \ + } \ }