60 #define TOTAL_KEYS_LOG_2 16
61 #define MAX_KEY_LOG_2 11
62 #define NUM_BUCKETS_LOG_2 9
70 #define TOTAL_KEYS_LOG_2 20
71 #define MAX_KEY_LOG_2 16
72 #define NUM_BUCKETS_LOG_2 10
79 #define TOTAL_KEYS_LOG_2 23
80 #define MAX_KEY_LOG_2 19
81 #define NUM_BUCKETS_LOG_2 10
89 #define TOTAL_KEYS_LOG_2 25
90 #define MAX_KEY_LOG_2 21
91 #define NUM_BUCKETS_LOG_2 10
99 #define TOTAL_KEYS_LOG_2 27
100 #define MAX_KEY_LOG_2 23
101 #define NUM_BUCKETS_LOG_2 10
109 #define TOTAL_KEYS_LOG_2 29
110 #define MAX_KEY_LOG_2 27
111 #define NUM_BUCKETS_LOG_2 10
117 #define TOTAL_KEYS (1 << TOTAL_KEYS_LOG_2)
118 #define MAX_KEY (1 << MAX_KEY_LOG_2)
119 #define NUM_BUCKETS (1 << NUM_BUCKETS_LOG_2)
151 #define MAX_PROCS 128
153 #define MAX_PROCS 1024
156 #define MAX_ITERATIONS 10
157 #define TEST_ARRAY_SIZE 5
168 #ifdef TIMING_ENABLED
206 #define hit_key_array(a) hit_tileElemAtNoStride1(key_array,a)
207 #define hit_key_buff1(a) hit_tileElemAtNoStride1(key_buff1,a)
208 #define hit_key_buff2(a) hit_tileElemAtNoStride1(key_buff2,a)
209 #define hit_key_buff3(a) hit_tileElemAtNoStride1(key_buff3,a)
211 #define hit_bucket_size(a) hit_tileElemAtNoStride1(bucket_size,(a))
212 #define hit_bucket_size_totals(a) hit_tileElemAtNoStride1(bucket_size_totals,(a))
213 #define hit_test_keys(a) hit_tileElemAtNoStride1(test_keys,(a))
214 #define hit_test_keys_all(a) hit_tileElemAtNoStride1(test_keys_all,(a))
229 {48427,17148,23627,62548,4431},
231 {0,18,346,64917,65463},
234 {357773,934767,875723,898999,404505},
236 {1249,11698,1039987,1043896,1048018},
239 {2112377,662041,5336171,3642833,4250760},
241 {104,17523,123928,8288932,8388264},
244 {41869,812306,5102857,18232239,26860214},
246 {33422937,10244,59149,33135281,99},
249 {44172927,72999161,74326391,129606274,21736814},
251 {61147,882988,266290,133997595,133525895},
254 {1317351170,995930646,1157283250,1503301535,1453734525},
256 {1,36538729,1978098519,2145192618,2147425337};
289 for( mq=0; nq>1; mq++,nq/=2 )
294 for( i=1; i<=mq; i++ )
303 for( i=1; i<=100; i++ )
334 for (i=0; i<num_keys; i++)
354 INT_TYPE i, k, key, min_key_val, max_key_val, zero = 0, *key_buff_ptr;
394 #ifdef TIMING_ENABLED
405 #ifdef TIMING_ENABLED
439 if ( iteration == 1 ) {
450 #ifdef TIMING_ENABLED
460 #ifdef TIMING_ENABLED
480 key_buff_ptr = & hit_tileElemAtArrayCoords1(
key_buff3, 0 );
505 if( hit_tileHasArrayCoords1(
key_buff3, k ) )
564 if( i == 1 || i == 2 || i == 4 )
613 printf(
"Failed partial verification: "
614 "iteration %d, processor %d, test key %d\n",
627 int main(
int argc,
char **argv )
671 printf(
"\n\n NAS Parallel Benchmarks 3.3 -- IS Benchmark\n\n" );
674 printf(
" Number of processes: %d\n",
hit_topCard( topology ) );
683 printf(
"\n ERROR: number of processes %d not within range %d-%d"
732 #ifdef TIMING_ENABLED
740 #ifdef TIMING_ENABLED
749 printf(
"\tIteration %d\n", iteration );
762 #ifdef TIMING_ENABLED
767 printf(
"\nTimers 0/1/2 = total/computation/communication times\n");
881 printf(
"Processor %d: Full_verify: number of keys out of sort: %d\n",
hit_laySelfRanksDim( layout_keys, 0 ), j );
INT_TYPE2 W_test_rank_array[TEST_ARRAY_SIZE]
INT_TYPE2 B_test_rank_array[TEST_ARRAY_SIZE]
#define hit_counterInc(c)
#define hit_shape(nd,...)
#define hit_layShape(lay)
#define hit_tileNewType(baseType)
INT_TYPE2 S_test_rank_array[TEST_ARRAY_SIZE]
#define hit_tileFill(var, value)
void create_seq(double seed, double a, int num_keys)
#define hit_tileElemAt(var, ndims,...)
void hit_comFree(HitCom issue)
#define hit_layImLeader(lay)
#define hit_topImLeader(topo)
void hit_comDo(HitCom *issue)
KEY_TYPE full_buckets_plus_test2
#define hit_clockContinue(c)
#define hit_tileDomainAlloc(newVarP, baseType, numDims,...)
#define hit_tileAlloc(var)
HitCom hit_comAllDistribute(HitLayout lay, const void *tilePSend, int *count, const void *tilePRecv, HitType baseType)
#define hit_topology(name,...)
INT_TYPE2 C_test_rank_array[TEST_ARRAY_SIZE]
#define hit_clockGetMaxSeconds(c)
INT_TYPE2 W_test_index_array[TEST_ARRAY_SIZE]
#define hit_layPredLoad(lay, dim)
#define hit_tileCard(var)
#define hit_lgr_cardPred(lay)
#define hit_laySelfRanksDim(lay, dim)
#define hit_tileSelect(newVar, oldVar, shape)
#define hit_clockPrintMax(c)
#define hit_counterReduce(lay, c)
void c_print_results(char *name, char class, int n1, int n2, int n3, int niter, int nprocs_compiled, int nprocs_total, double t, double mops, char *optype, int passed_verification, char *npbversion, char *compiletime, char *mpicc, char *clink, char *cmpi_lib, char *cmpi_inc, char *cflags, char *clinkflags)
#define hit_lgr_card(lay)
#define hit_tileDomainShapeAlloc(newVarP, baseType, shape)
#define hit_clockReset(c)
void hit_topFree(HitTopology topo)
INT_TYPE2 A_test_rank_array[TEST_ARRAY_SIZE]
#define hit_tileDimHasArrayCoord(var, dim, pos)
void hit_comInit(int *pargc, char **pargv[])
#define hit_comDoOnce(com)
INT_TYPE2 C_test_index_array[TEST_ARRAY_SIZE]
#define hit_layImActive(lay)
INT_TYPE2 test_rank_array[TEST_ARRAY_SIZE]
#define hit_comShiftDim(lay, dim, shift, tileP, baseType)
#define hit_bucket_size(a)
#define hit_counterReset(c)
#define hit_tileDomain(newVarP, baseType, numDims,...)
INT_TYPE2 B_test_index_array[TEST_ARRAY_SIZE]
KEY_TYPE bucket_size_totals
int hit_topCard(HitTopology topo)
#define hit_tileDimEnd(var, dim)
#define hit_clockPrintMin(c)
INT_TYPE bucket_ptrs[NUM_BUCKETS]
INT_TYPE2 A_test_index_array[TEST_ARRAY_SIZE]
void hit_layFree(HitLayout lay)
int main(int argc, char *argv[])
double find_my_seed(int kn, int np, long nn, double s, double a)
#define hit_comReduce(lay, root, tilePSend, tilePRecv, baseType, operation)
#define hit_counterSum(c)
#define NUM_BUCKETS_LOG_2
#define hit_clockPrintAvg(c)
INT_TYPE2 test_index_array[TEST_ARRAY_SIZE]
#define hit_test_keys_all(a)
int hit_layNumActives(HitLayout lay)
double randlc(double *X, double *A)
#define hit_tileForDimDomain(tile, dim, index)
#define hit_layout(name, topo,...)
INT_TYPE2 D_test_index_array[TEST_ARRAY_SIZE]
#define hit_tileFree(var)
KEY_TYPE full_buckets_plus_test
INT_TYPE2 D_test_rank_array[TEST_ARRAY_SIZE]
#define hit_tileShape(var)
INT_TYPE2 S_test_index_array[TEST_ARRAY_SIZE]
HitCounter passed_verification
#define hit_clockReduce(lay, c)
#define hit_bucket_size_totals(a)
#define hit_clockStart(c)