47 adf::port<input> pin[1];
48 adf::port<output> pout[1];
51 std::vector<TTPARAM> weights,
52 std::vector<TTPARAM> bias,
65 static_assert(2*W < MAX_PARAM_BYTES);
66 k[0] = adf::kernel::create_object<QLINEARMAC<TT, TTPARAM, B, W, IS_RELU>>(
67 weights, bias, x_scale, w_scale, b_scale, z_scale, y_scale, x_zero, w_zero, b_zero, z_zero, y_zero);
68 adf::source(k[0]) =
"qlinearmac.cc";
69 adf::headers(k[0]) = {
"qlinearmac.h"};
70 adf::runtime<ratio>(k[0]) = 0.6;
71 adf::repetition_count(k[0]) = repeat_cnt;
72 adf::heap_size(k[0]) = 3*W*4 + 1024;
74 adf::connect<adf::window<B*W>> (pin[0], k[0].in[0]);
75 adf::connect<adf::window<B*W>> (k[0].out[0], pout[0]);
77 adf::location_constraint tilePos = adf::location<adf::kernel>(k[0]);
78 adf::location<adf::parameter>(k[0].param[0]) = tilePos;
79 adf::location<adf::parameter>(k[0].param[0]) = adf::offset(0);
80 adf::location<adf::parameter>(k[0].param[1]) = tilePos;
81 adf::location<adf::parameter>(k[0].param[1]) = adf::offset((W+31)/32*32);
105 adf::port<input> pin[1];
106 adf::port<output> pout[1];
109 std::vector<TTPARAM> weights,
110 std::vector<TTPARAM> bias,
122 static_assert(2*W < MAX_PARAM_BYTES);
123 k[0] = adf::kernel::create_object<QLINEARMAC<TT, TTPARAM, B, W, IS_RELU>>(
124 weights, bias, x_scale, w_scale, b_scale, z_scale, y_scale, x_zero, w_zero, b_zero, z_zero, y_zero);
125 adf::source(k[0]) =
"qlinearmac.cc";
126 adf::headers(k[0]) = {
"qlinearmac.h"};
127 adf::runtime<ratio>(k[0]) = 0.6;
128 adf::heap_size(k[0]) = 3*W*4 + 1024;
130 adf::connect<adf::stream> (pin[0], k[0].in[0]);
131 adf::connect<adf::stream> (k[0].out[0], pout[0]);
133 adf::samples_per_iteration(k[0].in[0]) = B*W;
134 adf::samples_per_iteration(k[0].out[0]) = B*W;
136 adf::location_constraint tilePos = adf::location<adf::kernel>(k[0]);
137 adf::location<adf::parameter>(k[0].param[0]) = tilePos;
138 adf::location<adf::parameter>(k[0].param[0]) = adf::offset(0);
139 adf::location<adf::parameter>(k[0].param[1]) = tilePos;
140 adf::location<adf::parameter>(k[0].param[1]) = adf::offset((W+31)/32*32);