From cb1d47636f9bb9adbdfb3f18982417b746b2bf40 Mon Sep 17 00:00:00 2001 From: Jianyi Cheng Date: Fri, 12 Jun 2020 13:02:33 +0100 Subject: Adding benchmarks to branch_jc --- benchmarks/fft/fft.h | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 benchmarks/fft/fft.h (limited to 'benchmarks/fft/fft.h') diff --git a/benchmarks/fft/fft.h b/benchmarks/fft/fft.h new file mode 100644 index 0000000..4773894 --- /dev/null +++ b/benchmarks/fft/fft.h @@ -0,0 +1,61 @@ +/* +Copyright (c) 2011, UT-Battelle, LLC +Copyright (c) 2014, the President and Fellows of Harvard College +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of Oak Ridge National Laboratory, nor UT-Battelle, LLC, nor + the names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Implementations based on: +V. Volkov and B. Kazian. Fitting fft onto the g80 architecture. 2008. +*/ + +#include +#include +#include + +#define TYPE double +//#define TYPE int + +typedef struct complex_t { + TYPE x; + TYPE y; +} complex; + +#define PI 3.1415926535 +#ifndef M_SQRT1_2 +#define M_SQRT1_2 0.70710678118654752440f +#endif +void fft1D_512(TYPE work_x[512], TYPE work_y[512]); + +//////////////////////////////////////////////////////////////////////////////// +// Test harness interface code. + +struct bench_args_t { + TYPE work_x[512]; + TYPE work_y[512]; +}; +int INPUT_SIZE = sizeof(struct bench_args_t); + +void run_benchmark( void *vargs ) { + struct bench_args_t *args = (struct bench_args_t *)vargs; + fft1D_512( args->work_x, args->work_y); +} + +//////////////////////////////////////////////////////////////////////////////// \ No newline at end of file -- cgit