aboutsummaryrefslogtreecommitdiff
path: root/final/Bitcode/Regression/fft/halide_buffer.h
blob: a81ec7e559a4cc0ebf79bf15b57a48c5c4c24953 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#ifndef HALIDE_ATTRIBUTE_ALIGN
  #ifdef _MSC_VER
    #define HALIDE_ATTRIBUTE_ALIGN(x) __declspec(align(x))
  #else
    #define HALIDE_ATTRIBUTE_ALIGN(x) __attribute__((aligned(x)))
  #endif
#endif
#ifndef BUFFER_T_DEFINED
#define BUFFER_T_DEFINED
#include <stdbool.h>
#include <stdint.h>
typedef struct buffer_t {
    uint64_t dev;
    uint8_t* host;
    int32_t extent[4];
    int32_t stride[4];
    int32_t min[4];
    int32_t elem_size;
    HALIDE_ATTRIBUTE_ALIGN(1) bool host_dirty;
    HALIDE_ATTRIBUTE_ALIGN(1) bool dev_dirty;
    HALIDE_ATTRIBUTE_ALIGN(1) uint8_t _padding[10 - sizeof(void *)];
} buffer_t;
#endif
struct halide_filter_metadata_t;
#ifndef HALIDE_FUNCTION_ATTRS
#define HALIDE_FUNCTION_ATTRS
#endif
#ifndef FILTER_T_DEFINED
#define FILTER_T_DEFINED
typedef struct filter {
    const char *name;
    int (*fn)(buffer_t *,
              buffer_t *,
              buffer_t *);
} filter;
#endif

//int FftConvolve8x8xCHalide(struct halide_buffer_t *_input_buffer, struct halide_buffer_t *_kernel_buffer, struct halide_buffer_t *_result_buffer) HALIDE_FUNCTION_ATTRS;
//int FftConvolve8x8xCHalide_argv(void **args) HALIDE_FUNCTION_ATTRS;
//const struct halide_filter_metadata_t *FftConvolve64x64xRHalide_metadata() HALIDE_FUNCTION_ATTRS;

int FftConvolve8x8xCHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve8x8xCZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve8x8xRHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve8x8xRZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve16x16xCHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve16x16xCZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve16x16xRHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve16x16xRZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve32x32xCHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve32x32xCZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve32x32xRHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve32x32xRZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve64x64xCHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve64x64xCZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve64x64xRHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve64x64xRZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve128x128xCHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve128x128xCZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve128x128xRHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve128x128xRZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve256x256xCHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve256x256xCZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve256x256xRHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;
int FftConvolve256x256xRZHalide(struct buffer_t *_input, struct buffer_t *_kernel, struct buffer_t *_result) HALIDE_FUNCTION_ATTRS;

filter filters[] = {
  {"FftConvolve8x8xCHalide",&FftConvolve8x8xCHalide},
  {"FftConvolve8x8xCZHalide",&FftConvolve8x8xCZHalide},
  {"FftConvolve8x8xRHalide",&FftConvolve8x8xRHalide},
  {"FftConvolve8x8xRZHalide",&FftConvolve8x8xRZHalide},
  {"FftConvolve16x16xCHalide",&FftConvolve16x16xCHalide},
  {"FftConvolve16x16xCZHalide",&FftConvolve16x16xCZHalide},
  {"FftConvolve16x16xRHalide",&FftConvolve16x16xRHalide},
  {"FftConvolve16x16xRZHalide",&FftConvolve16x16xRZHalide},
  {"FftConvolve32x32xCHalide",&FftConvolve32x32xCHalide},
  {"FftConvolve32x32xCZHalide",&FftConvolve32x32xCZHalide},
  {"FftConvolve32x32xRHalide",&FftConvolve32x32xRHalide},
  {"FftConvolve32x32xRZHalide",&FftConvolve32x32xRZHalide},
  {"FftConvolve64x64xCHalide",&FftConvolve64x64xCHalide},
  {"FftConvolve64x64xCZHalide",&FftConvolve64x64xCZHalide},
  {"FftConvolve64x64xRHalide",&FftConvolve64x64xRHalide},
  {"FftConvolve64x64xRZHalide",&FftConvolve64x64xRZHalide},
  {"FftConvolve128x128xCHalide",&FftConvolve128x128xCHalide},
  {"FftConvolve128x128xCZHalide",&FftConvolve128x128xCZHalide},
  {"FftConvolve128x128xRHalide",&FftConvolve128x128xRHalide},
  {"FftConvolve128x128xRZHalide",&FftConvolve128x128xRZHalide},
  {"FftConvolve256x256xCHalide",&FftConvolve256x256xCHalide},
  {"FftConvolve256x256xCZHalide",&FftConvolve256x256xCZHalide},
  {"FftConvolve256x256xRHalide",&FftConvolve256x256xRHalide},
  {"FftConvolve256x256xRZHalide",&FftConvolve256x256xRZHalide},
  {NULL, NULL}};