#ifndef ATAX_H #define ATAX_H /* Default to STANDARD_DATASET. */ #if !defined(NANO_DATASET) && !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(STANDARD_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) #ifdef HPC_DEBUG #define NANO_DATASET #else #define EXTRALARGE_DATASET #endif #endif /* Do not define anything if the user manually defines the size. */ # if !defined(NX) && !defined(NY) /* Define the possible dataset sizes. */ #ifdef NANO_DATASET #define NX 3 #define NY 5 #endif #ifdef MINI_DATASET #define NX 32 #define NY 32 #endif #ifdef SMALL_DATASET #define NX 500 #define NY 500 #endif #ifdef STANDARD_DATASET #define NX 4000 #define NY 4000 #endif #ifdef LARGE_DATASET #define NX 8000 #define NY 8000 #endif #ifdef EXTRALARGE_DATASET #define NX 12000 #define NY 12000 #endif #endif #define _PB_NX POLYBENCH_LOOP_BOUND(NX,nx) #define _PB_NY POLYBENCH_LOOP_BOUND(NY,ny) /* Define the data type to perform the benchmark with. */ #ifndef DATA_TYPE #define DATA_TYPE double #define DATA_PRINTF_MODIFIER "%0.2lf " #endif #endif