1 |
/*****************************************************************************/ |
/******************************************************************************/ |
2 |
/* */ |
/* */ |
3 |
/* Copyright (c) 2008, 2009, 2010 */ |
/* Copyright (c) 2008, 2009, 2010 */ |
4 |
/* Computer Architecture Group (CAG) */ |
/* Computer Architecture Group (CAG) */ |
24 |
/* You should have received a copy of the GNU Lesser General Public License */ |
/* You should have received a copy of the GNU Lesser General Public License */ |
25 |
/* along with UOMS. If not, see <http://www.gnu.org/licenses/>. */ |
/* along with UOMS. If not, see <http://www.gnu.org/licenses/>. */ |
26 |
/* */ |
/* */ |
27 |
/*****************************************************************************/ |
/******************************************************************************/ |
28 |
|
|
29 |
/*****************************************************************************/ |
/******************************************************************************/ |
30 |
/* */ |
/* */ |
31 |
/* FUNDING: This development has been funded by Hewlett-Packard Spain */ |
/* FUNDING: This development has been funded by Hewlett-Packard Spain */ |
32 |
/* */ |
/* */ |
35 |
/* Subproject: */ |
/* Subproject: */ |
36 |
/* Improving UPC Usability and Performance in Constellation Systems: */ |
/* Improving UPC Usability and Performance in Constellation Systems: */ |
37 |
/* Implementation/Extensions of UPC Libraries. */ |
/* Implementation/Extensions of UPC Libraries. */ |
38 |
/* (UPCPUProject -> UPC Performance and Usability Project) */ |
/* (UPCPUProject -> UPC Performance and Usability Project) */ |
39 |
/* */ |
/* */ |
40 |
/*****************************************************************************/ |
/******************************************************************************/ |
41 |
|
|
42 |
/***************************************************************************** |
/****************************************************************************** |
43 |
|
|
44 |
For further documentation, see |
For further documentation, see |
45 |
|
|
46 |
[1] Files under doc/ |
[1] Files under doc/ |
47 |
|
|
48 |
******************************************************************************/ |
*******************************************************************************/ |
49 |
|
|
50 |
#include <stdio.h> |
#include <stdio.h> |
51 |
#include <time.h> |
#include <time.h> |
73 |
double factor=1.0; |
double factor=1.0; |
74 |
|
|
75 |
switch (operation_code) { |
switch (operation_code) { |
76 |
|
case FORALL_R: |
77 |
|
case FORALL_W: |
78 |
|
case FORALL_RW: |
79 |
|
case FOR_R: |
80 |
|
case FOR_W: |
81 |
|
case FOR_RW: |
82 |
case BROADCAST: |
case BROADCAST: |
83 |
|
case SCATTER: |
84 |
|
case GATHER: |
85 |
|
case PERMUTE: |
86 |
factor = THREADS; |
factor = THREADS; |
87 |
break; |
break; |
88 |
case EXCHANGE: |
case EXCHANGE: |
91 |
case GATHERALL: |
case GATHERALL: |
92 |
factor = THREADS+THREADS*THREADS; |
factor = THREADS+THREADS*THREADS; |
93 |
break; |
break; |
|
case SCATTER: |
|
|
factor = THREADS; |
|
|
break; |
|
|
case GATHER: |
|
|
factor = THREADS; |
|
|
break; |
|
|
case PERMUTE: |
|
|
factor = THREADS; |
|
|
break; |
|
94 |
default: |
default: |
95 |
factor = 1.0; |
factor = 1.0; |
96 |
break; |
break; |
228 |
char *funcname; |
char *funcname; |
229 |
|
|
230 |
switch (operation) { |
switch (operation) { |
231 |
|
case FORALL_R: |
232 |
|
case FORALL_W: |
233 |
|
case FORALL_RW: |
234 |
|
case FOR_R: |
235 |
|
case FOR_W: |
236 |
|
case FOR_RW: |
237 |
case BROADCAST: |
case BROADCAST: |
238 |
case SCATTER: |
case SCATTER: |
239 |
case GATHER: |
case GATHER: |