Skip to content

Commit a8765d1

Browse files
authored
Small fixes (#3)
* Remove unused stride from neureka_task_set_op_to_conv * Fix norm and quant struct types * Fix header guard to all caps * Fix padding dim order to be consistent
1 parent 9afe077 commit a8765d1

File tree

6 files changed

+39
-36
lines changed

6 files changed

+39
-36
lines changed

ne16/hal/ne16_task.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,8 @@ void ne16_task_set_padding(ne16_task_t *task, const uint8_t top,
206206
}
207207

208208
void ne16_task_set_mask_filter(ne16_task_t *task, const uint8_t top,
209-
const uint8_t right, const uint8_t bottom,
210-
const uint8_t left) {
209+
const uint8_t bottom, const uint8_t left,
210+
const uint8_t right) {
211211
task->data.cfg.filter_mask = ((top & 0xff) << 24) | ((right & 0xff) << 16) |
212212
((bottom & 0xff) << 8) | ((left & 0xff) << 0);
213213
}
@@ -219,8 +219,8 @@ void ne16_task_set_dims(ne16_task_t *task, const uint32_t w_in,
219219
const uint32_t h_out_stride,
220220
const uint32_t w_out_stride, const uint8_t padding_top,
221221
const uint8_t padding_bottom,
222-
const uint8_t padding_right,
223-
const uint8_t padding_left) {
222+
const uint8_t padding_left,
223+
const uint8_t padding_right) {
224224
ne16_task_set_strides(task, k_in, h_in_stride, w_in_stride, h_out_stride,
225225
w_out_stride);
226226
ne16_task_set_counters(task, k_in, h_out, w_out, k_out, padding_bottom,
@@ -235,8 +235,8 @@ void ne16_task_set_dims_stride2x2(
235235
const uint32_t h_out, const uint32_t w_out, const uint32_t k_out,
236236
const uint32_t h_out_stride, const uint32_t w_out_stride,
237237
const uint8_t h_ker, const uint8_t w_ker, const uint8_t padding_top,
238-
const uint8_t padding_bottom, const uint8_t padding_right,
239-
const uint8_t padding_left) {
238+
const uint8_t padding_bottom, const uint8_t padding_left,
239+
const uint8_t padding_right) {
240240
const uint8_t stride = 2;
241241

242242
// WARNING: works only for even output channel stride (divisible by 2)

ne16/hal/ne16_task.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ typedef enum {
4242

4343
typedef struct ne16_norm_t {
4444
ne16_norm_mode_e mode;
45-
int flag_bias;
46-
int flag_shift;
45+
ne16_task_flag_e flag_bias;
46+
ne16_task_flag_e flag_shift;
4747
} ne16_norm_t;
4848

4949
typedef enum ne16_quant_mode_e {
@@ -59,9 +59,9 @@ typedef enum ne16_quant_function_e {
5959

6060
typedef struct ne16_quant_t {
6161
// Shift amount must be in range 0x00-0x1F
62-
unsigned shift_amount;
62+
uint8_t shift_amount;
6363
ne16_quant_function_e function;
64-
int flag_rounding;
64+
ne16_task_flag_e flag_rounding;
6565
} ne16_quant_t;
6666

6767
typedef struct ne16_stride_t {
@@ -157,8 +157,8 @@ void ne16_task_set_padding(ne16_task_t *task, const uint8_t top,
157157
const uint8_t bottom, const uint8_t left,
158158
const uint8_t right, const uint8_t value);
159159
void ne16_task_set_mask_filter(ne16_task_t *task, const uint8_t top,
160-
const uint8_t right, const uint8_t bottom,
161-
const uint8_t left);
160+
const uint8_t bottom, const uint8_t left,
161+
const uint8_t right);
162162
/** ne16_task_set_dims
163163
*
164164
* All the strides variables are strides between elements alongside that
@@ -172,8 +172,8 @@ void ne16_task_set_dims(ne16_task_t *task, const uint32_t w_in,
172172
const uint32_t h_out_stride,
173173
const uint32_t w_out_stride, const uint8_t padding_top,
174174
const uint8_t padding_bottom,
175-
const uint8_t padding_right,
176-
const uint8_t padding_left);
175+
const uint8_t padding_left,
176+
const uint8_t padding_right);
177177
/** ne16_task_set_dims_stride2x2
178178
*
179179
* All the strides variables are strides between elements alongside that
@@ -186,7 +186,7 @@ void ne16_task_set_dims_stride2x2(
186186
const uint32_t h_out, const uint32_t w_out, const uint32_t k_out,
187187
const uint32_t h_out_stride, const uint32_t w_out_stride,
188188
const uint8_t h_ker, const uint8_t w_ker, const uint8_t padding_top,
189-
const uint8_t padding_bottom, const uint8_t padding_right,
190-
const uint8_t padding_left);
189+
const uint8_t padding_bottom, const uint8_t padding_left,
190+
const uint8_t padding_right);
191191

192192
#endif // !__NE16_TASK_H__

neureka/bsp/neureka_siracusa_bsp.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
* SPDX-License-Identifier: Apache-2.0
1919
*/
2020

21-
#ifndef __NEUREKA_siracusa_BSP_H__
22-
#define __NEUREKA_siracusa_BSP_H__
21+
#ifndef __NEUREKA_SIRACUSA_BSP_H__
22+
#define __NEUREKA_SIRACUSA_BSP_H__
2323

2424
#include "neureka.h"
2525
#include <stdint.h>
@@ -64,4 +64,4 @@ void neureka_siracusa_close();
6464
void neureka_siracusa_event_wait_and_clear();
6565
const neureka_dev_t *neureka_siracusa_get_dev();
6666

67-
#endif // !__NEUREKA_siracusa_BSP_H__
67+
#endif // !__NEUREKA_SIRACUSA_BSP_H__

neureka/hal/neureka_task.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ void neureka_task_init(neureka_task_t *task) {
4747

4848
void neureka_task_set_op_to_conv(neureka_task_t *task,
4949
const uint8_t kernel_shape,
50-
const uint8_t depthwise,
51-
const uint8_t stride) {
50+
const uint8_t depthwise) {
5251
task->depthwise = depthwise;
5352
task->kernel_shape = kernel_shape;
5453
task->subtile_output_channel = depthwise ? NEUREKA_SUBTILE_INPUT_CHANNEL_3x3
@@ -217,8 +216,8 @@ void neureka_task_set_padding(neureka_task_t *task, const uint8_t top,
217216
}
218217

219218
void neureka_task_set_mask_filter(neureka_task_t *task, const uint8_t top,
220-
const uint8_t right, const uint8_t bottom,
221-
const uint8_t left) {
219+
const uint8_t bottom, const uint8_t left,
220+
const uint8_t right) {
222221
task->data.cfg.filter_mask = ((top & 0xff) << 24) | ((right & 0xff) << 16) |
223222
((bottom & 0xff) << 8) | ((left & 0xff) << 0);
224223
}
@@ -229,7 +228,7 @@ void neureka_task_set_dims(
229228
const uint32_t h_out, const uint32_t w_out, const uint32_t k_out,
230229
const uint32_t h_out_stride, const uint32_t w_out_stride,
231230
const uint8_t padding_top, const uint8_t padding_bottom,
232-
const uint8_t padding_right, const uint8_t padding_left) {
231+
const uint8_t padding_left, const uint8_t padding_right) {
233232
neureka_task_set_strides(task, k_in, h_in_stride, w_in_stride, h_out_stride,
234233
w_out_stride);
235234
neureka_task_set_counters(task, k_in, h_out, w_out, k_out, padding_bottom,

neureka/hal/neureka_task.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ typedef enum {
4646

4747
typedef struct neureka_norm_t {
4848
neureka_norm_mode_e mode;
49-
int flag_bias;
50-
int flag_shift;
49+
neureka_task_flag_e flag_bias;
50+
neureka_task_flag_e flag_shift;
5151
} neureka_norm_t;
5252

5353
typedef enum neureka_quant_mode_e {
@@ -62,9 +62,9 @@ typedef enum neureka_quant_function_e {
6262

6363
typedef struct neureka_quant_t {
6464
// Shift amount must be in range 0x00-0x1F
65-
unsigned shift_amount;
65+
uint8_t shift_amount;
6666
neureka_quant_function_e function;
67-
int flag_rounding;
67+
neureka_task_flag_e flag_rounding;
6868
} neureka_quant_t;
6969

7070
typedef struct neureka_stride_t {
@@ -123,7 +123,7 @@ typedef struct neureka_task_t {
123123
void neureka_task_init(neureka_task_t *task);
124124
void neureka_task_set_op_to_conv(neureka_task_t *task,
125125
const uint8_t kernel_shape,
126-
const uint8_t depthwise, const uint8_t stride);
126+
const uint8_t depthwise);
127127
void neureka_task_set_bits(neureka_task_t *task, const uint8_t input_bits,
128128
const uint8_t output_bits,
129129
const uint8_t weight_bits);
@@ -168,8 +168,8 @@ void neureka_task_set_padding(neureka_task_t *task, const uint8_t top,
168168
const uint8_t bottom, const uint8_t left,
169169
const uint8_t right, const uint8_t value);
170170
void neureka_task_set_mask_filter(neureka_task_t *task, const uint8_t top,
171-
const uint8_t right, const uint8_t bottom,
172-
const uint8_t left);
171+
const uint8_t bottom, const uint8_t left,
172+
const uint8_t right);
173173
/** neureka_task_set_dims
174174
*
175175
* All the strides variables are strides between elements alongside that
@@ -182,6 +182,6 @@ void neureka_task_set_dims(
182182
const uint32_t h_out, const uint32_t w_out, const uint32_t k_out,
183183
const uint32_t h_out_stride, const uint32_t w_out_stride,
184184
const uint8_t padding_top, const uint8_t padding_bottom,
185-
const uint8_t padding_right, const uint8_t padding_left);
185+
const uint8_t padding_left, const uint8_t padding_right);
186186

187187
#endif // !__NEUREKA_TASK_H__

test/app/src/nnx_layer.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,11 @@ typedef neureka_siracusa_conf_t nnx_bsp_conf_t;
113113

114114
static void task_prepare(nnx_task_t *task) {
115115
nnx_task_init(task);
116+
#ifdef NNX_NEUREKA
117+
nnx_task_set_op_to_conv(task, WEIGHT_HEIGHT, GROUPS > 1);
118+
#else
116119
nnx_task_set_op_to_conv(task, WEIGHT_HEIGHT, GROUPS > 1, STRIDE_HEIGHT);
120+
#endif
117121
nnx_task_set_bits(task, INPUT_BITS, OUTPUT_BITS, WEIGHT_BITS);
118122

119123
#if HAS_NORM_QUANT == 1
@@ -158,13 +162,13 @@ static void task_prepare(nnx_task_t *task) {
158162
nnx_task_set_dims_stride2x2(
159163
task, INPUT_HEIGHT, INPUT_WIDTH, INPUT_CHANNEL, h_in_stride, w_in_stride,
160164
OUTPUT_HEIGHT, OUTPUT_WIDTH, OUTPUT_CHANNEL, h_out_stride, w_out_stride,
161-
WEIGHT_HEIGHT, WEIGHT_WIDTH, PADDING_TOP, PADDING_BOTTOM, PADDING_RIGHT,
162-
PADDING_LEFT);
165+
WEIGHT_HEIGHT, WEIGHT_WIDTH, PADDING_TOP, PADDING_BOTTOM, PADDING_LEFT,
166+
PADDING_RIGHT);
163167
#else
164168
nnx_task_set_dims(task, INPUT_WIDTH, INPUT_CHANNEL, h_in_stride, w_in_stride,
165169
OUTPUT_HEIGHT, OUTPUT_WIDTH, OUTPUT_CHANNEL, h_out_stride,
166-
w_out_stride, PADDING_TOP, PADDING_BOTTOM, PADDING_RIGHT,
167-
PADDING_LEFT);
170+
w_out_stride, PADDING_TOP, PADDING_BOTTOM, PADDING_LEFT,
171+
PADDING_RIGHT);
168172
#endif
169173

170174
nnx_task_set_ptrs(task, (uint32_t)input, INPUT_WIDTH, w_in_stride,

0 commit comments

Comments
 (0)