summaryrefslogtreecommitdiff
path: root/Microbenchmarks/STREAM
diff options
context:
space:
mode:
Diffstat (limited to 'Microbenchmarks/STREAM')
-rw-r--r--Microbenchmarks/STREAM/host/app.c2
-rw-r--r--Microbenchmarks/STREAM/support/params.h5
2 files changed, 5 insertions, 2 deletions
diff --git a/Microbenchmarks/STREAM/host/app.c b/Microbenchmarks/STREAM/host/app.c
index e99d631..c75d71b 100644
--- a/Microbenchmarks/STREAM/host/app.c
+++ b/Microbenchmarks/STREAM/host/app.c
@@ -102,7 +102,7 @@ int main(int argc, char **argv) {
unsigned int i = 0;
double cc = 0;
double cc_min = 0;
- const unsigned int input_size = p.input_size * nr_of_dpus;
+ const unsigned int input_size = p.exp == 0 ? p.input_size * nr_of_dpus : p.input_size;
#if defined(add) || defined(triad)
const unsigned int n_arrays = 3;
diff --git a/Microbenchmarks/STREAM/support/params.h b/Microbenchmarks/STREAM/support/params.h
index d28ba65..ad47c39 100644
--- a/Microbenchmarks/STREAM/support/params.h
+++ b/Microbenchmarks/STREAM/support/params.h
@@ -7,6 +7,7 @@ typedef struct Params {
unsigned int input_size;
int n_warmup;
int n_reps;
+ int exp;
}Params;
static void usage() {
@@ -29,9 +30,10 @@ struct Params input_params(int argc, char **argv) {
p.input_size = 8 << 10;
p.n_warmup = 1;
p.n_reps = 3;
+ p.exp = 0;
int opt;
- while((opt = getopt(argc, argv, "hi:w:e:")) >= 0) {
+ while((opt = getopt(argc, argv, "hi:w:e:x:")) >= 0) {
switch(opt) {
case 'h':
usage();
@@ -40,6 +42,7 @@ struct Params input_params(int argc, char **argv) {
case 'i': p.input_size = atoi(optarg); break;
case 'w': p.n_warmup = atoi(optarg); break;
case 'e': p.n_reps = atoi(optarg); break;
+ case 'x': p.exp = atoi(optarg); break;
default:
fprintf(stderr, "\nUnrecognized option!\n");
usage();