From 11bb30e72bf1f2f36380c0bae8593d2e27ce3bfe Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Tue, 14 Mar 2017 20:29:51 +0100 Subject: Added the possibility to tune batched kernels --- src/tuning/kernels/copy_fast.cpp | 1 + src/tuning/kernels/copy_pad.cpp | 1 + src/tuning/kernels/transpose_fast.cpp | 1 + src/tuning/kernels/transpose_pad.cpp | 1 + src/tuning/kernels/xaxpy.cpp | 1 + src/tuning/kernels/xdot.cpp | 1 + src/tuning/kernels/xgemm.cpp | 1 + src/tuning/kernels/xgemm_direct.cpp | 1 + src/tuning/kernels/xgemv.cpp | 1 + src/tuning/kernels/xger.cpp | 1 + 10 files changed, 10 insertions(+) (limited to 'src/tuning/kernels') diff --git a/src/tuning/kernels/copy_fast.cpp b/src/tuning/kernels/copy_fast.cpp index 7a434513..10ef864b 100644 --- a/src/tuning/kernels/copy_fast.cpp +++ b/src/tuning/kernels/copy_fast.cpp @@ -46,6 +46,7 @@ class TuneCopy { static size_t DefaultM() { return 1024; } static size_t DefaultN() { return 1024; } static size_t DefaultK() { return 1; } // N/A for this kernel + static size_t DefaultBatchCount() { return 1; } // N/A for this kernel static double DefaultFraction() { return 1.0; } // N/A for this kernel static size_t DefaultNumRuns() { return 2; } // run every kernel this many times for averaging diff --git a/src/tuning/kernels/copy_pad.cpp b/src/tuning/kernels/copy_pad.cpp index 94d9c303..1feb5683 100644 --- a/src/tuning/kernels/copy_pad.cpp +++ b/src/tuning/kernels/copy_pad.cpp @@ -46,6 +46,7 @@ class TunePad { static size_t DefaultM() { return 1024; } static size_t DefaultN() { return 1024; } static size_t DefaultK() { return 1; } // N/A for this kernel + static size_t DefaultBatchCount() { return 1; } // N/A for this kernel static double DefaultFraction() { return 1.0; } // N/A for this kernel static size_t DefaultNumRuns() { return 2; } // run every kernel this many times for averaging diff --git a/src/tuning/kernels/transpose_fast.cpp b/src/tuning/kernels/transpose_fast.cpp index e16ab235..433f9972 100644 --- a/src/tuning/kernels/transpose_fast.cpp +++ b/src/tuning/kernels/transpose_fast.cpp @@ -46,6 +46,7 @@ class TuneTranspose { static size_t DefaultM() { return 1024; } static size_t DefaultN() { return 1024; } static size_t DefaultK() { return 1; } // N/A for this kernel + static size_t DefaultBatchCount() { return 1; } // N/A for this kernel static double DefaultFraction() { return 1.0; } // N/A for this kernel static size_t DefaultNumRuns() { return 2; } // run every kernel this many times for averaging diff --git a/src/tuning/kernels/transpose_pad.cpp b/src/tuning/kernels/transpose_pad.cpp index c01298bf..d7dc585d 100644 --- a/src/tuning/kernels/transpose_pad.cpp +++ b/src/tuning/kernels/transpose_pad.cpp @@ -46,6 +46,7 @@ class TunePadTranspose { static size_t DefaultM() { return 1024; } static size_t DefaultN() { return 1024; } static size_t DefaultK() { return 1; } // N/A for this kernel + static size_t DefaultBatchCount() { return 1; } // N/A for this kernel static double DefaultFraction() { return 1.0; } // N/A for this kernel static size_t DefaultNumRuns() { return 2; } // run every kernel this many times for averaging diff --git a/src/tuning/kernels/xaxpy.cpp b/src/tuning/kernels/xaxpy.cpp index 824ab29e..23132c51 100644 --- a/src/tuning/kernels/xaxpy.cpp +++ b/src/tuning/kernels/xaxpy.cpp @@ -50,6 +50,7 @@ class TuneXaxpy { static size_t DefaultM() { return 1; } // N/A for this kernel static size_t DefaultN() { return 4096*1024; } static size_t DefaultK() { return 1; } // N/A for this kernel + static size_t DefaultBatchCount() { return 1; } // N/A for this kernel static double DefaultFraction() { return 1.0; } // N/A for this kernel static size_t DefaultNumRuns() { return 2; } // run every kernel this many times for averaging diff --git a/src/tuning/kernels/xdot.cpp b/src/tuning/kernels/xdot.cpp index f871d42a..faf52089 100644 --- a/src/tuning/kernels/xdot.cpp +++ b/src/tuning/kernels/xdot.cpp @@ -46,6 +46,7 @@ class TuneXdot { static size_t DefaultM() { return 1; } // N/A for this kernel static size_t DefaultN() { return 2*1024*1024; } static size_t DefaultK() { return 1; } // N/A for this kernel + static size_t DefaultBatchCount() { return 1; } // N/A for this kernel static double DefaultFraction() { return 1.0; } // N/A for this kernel static size_t DefaultNumRuns() { return 2; } // run every kernel this many times for averaging diff --git a/src/tuning/kernels/xgemm.cpp b/src/tuning/kernels/xgemm.cpp index f55eadd8..d34035f4 100644 --- a/src/tuning/kernels/xgemm.cpp +++ b/src/tuning/kernels/xgemm.cpp @@ -51,6 +51,7 @@ class TuneXgemm { static size_t DefaultM() { return 1024; } static size_t DefaultN() { return 1024; } static size_t DefaultK() { return 1024; } + static size_t DefaultBatchCount() { return 1; } // N/A for this kernel static double DefaultFraction() { return (V==1) ? 1.0 : 512.0; } // test all or sample randomly static size_t DefaultNumRuns() { return 2; } // run every kernel this many times for averaging diff --git a/src/tuning/kernels/xgemm_direct.cpp b/src/tuning/kernels/xgemm_direct.cpp index ee5bcb7e..5afcdd38 100644 --- a/src/tuning/kernels/xgemm_direct.cpp +++ b/src/tuning/kernels/xgemm_direct.cpp @@ -51,6 +51,7 @@ class TuneXgemmDirect { static size_t DefaultM() { return 256; } static size_t DefaultN() { return 256; } static size_t DefaultK() { return 256; } + static size_t DefaultBatchCount() { return 1; } // N/A for this kernel static double DefaultFraction() { return (V==1) ? 1.0 : 32.0; } // test all or sample randomly static size_t DefaultNumRuns() { return 4; } // run every kernel this many times for averaging diff --git a/src/tuning/kernels/xgemv.cpp b/src/tuning/kernels/xgemv.cpp index 97a45225..c34e8a1c 100644 --- a/src/tuning/kernels/xgemv.cpp +++ b/src/tuning/kernels/xgemv.cpp @@ -49,6 +49,7 @@ class TuneXgemv { static size_t DefaultM() { return 2048; } static size_t DefaultN() { return 2048; } static size_t DefaultK() { return 1; } // N/A for this kernel + static size_t DefaultBatchCount() { return 1; } // N/A for this kernel static double DefaultFraction() { return 1.0; } // N/A for this kernel static size_t DefaultNumRuns() { return 2; } // run every kernel this many times for averaging diff --git a/src/tuning/kernels/xger.cpp b/src/tuning/kernels/xger.cpp index 5057492f..c3fc243b 100644 --- a/src/tuning/kernels/xger.cpp +++ b/src/tuning/kernels/xger.cpp @@ -46,6 +46,7 @@ class TuneXger { static size_t DefaultM() { return 1024; } static size_t DefaultN() { return 1024; } static size_t DefaultK() { return 1; } // N/A for this kernel + static size_t DefaultBatchCount() { return 1; } // N/A for this kernel static double DefaultFraction() { return 1.0; } // N/A for this kernel static size_t DefaultNumRuns() { return 2; } // run every kernel this many times for averaging -- cgit v1.2.3