/* * Conv2dTuple.h * */ #ifndef PROCESSOR_CONV2DTUPLE_H_ #define PROCESSOR_CONV2DTUPLE_H_ #include using namespace std; class Conv2dTuple { public: int output_h, output_w; int inputs_h, inputs_w; int weights_h, weights_w; int stride_h, stride_w; int n_channels_in; int padding_h; int padding_w; int batch_size; size_t r0; size_t r1; int r2; vector>> lengths; int filter_stride_h = 1; int filter_stride_w = 1; Conv2dTuple(const vector& args, int start); array matrix_dimensions(); template void pre(StackedVector& S, typename T::Protocol& protocol); template void post(StackedVector& S, typename T::Protocol& protocol); template void run_matrix(SubProcessor& processor); }; #endif /* PROCESSOR_CONV2DTUPLE_H_ */