Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Critical fixes for memory leakage and compatibility #34

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 37 additions & 13 deletions src/default/Abs.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include <onnx.h>
#include "../onnx.h"

static int Abs_init(struct onnx_node_t * n)
{
Expand Down Expand Up @@ -27,7 +27,9 @@ static void Abs_int8(struct onnx_node_t * n)
int8_t * px = (int8_t *)x->datas;
int8_t * py = (int8_t *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = (px[i] < 0) ? -px[i] : px[i];
}

Expand All @@ -38,7 +40,9 @@ static void Abs_int16(struct onnx_node_t * n)
int16_t * px = (int16_t *)x->datas;
int16_t * py = (int16_t *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = (px[i] < 0) ? -px[i] : px[i];
}

Expand All @@ -49,7 +53,9 @@ static void Abs_int32(struct onnx_node_t * n)
int32_t * px = (int32_t *)x->datas;
int32_t * py = (int32_t *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = (px[i] < 0) ? -px[i] : px[i];
}

Expand All @@ -60,7 +66,9 @@ static void Abs_int64(struct onnx_node_t * n)
int64_t * px = (int64_t *)x->datas;
int64_t * py = (int64_t *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = (px[i] < 0) ? -px[i] : px[i];
}

Expand All @@ -71,7 +79,9 @@ static void Abs_uint8(struct onnx_node_t * n)
uint8_t * px = (uint8_t *)x->datas;
uint8_t * py = (uint8_t *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = (px[i] < 0) ? -px[i] : px[i];
}

Expand All @@ -82,7 +92,9 @@ static void Abs_uint16(struct onnx_node_t * n)
uint16_t * px = (uint16_t *)x->datas;
uint16_t * py = (uint16_t *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = (px[i] < 0) ? -px[i] : px[i];
}

Expand All @@ -93,7 +105,9 @@ static void Abs_uint32(struct onnx_node_t * n)
uint32_t * px = (uint32_t *)x->datas;
uint32_t * py = (uint32_t *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = (px[i] < 0) ? -px[i] : px[i];
}

Expand All @@ -104,7 +118,9 @@ static void Abs_uint64(struct onnx_node_t * n)
uint64_t * px = (uint64_t *)x->datas;
uint64_t * py = (uint64_t *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = (px[i] < 0) ? -px[i] : px[i];
}

Expand All @@ -116,7 +132,9 @@ static void Abs_bfloat16(struct onnx_node_t * n)
uint16_t * py = (uint16_t *)y->datas;
float v;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
{
v = bfloat16_to_float32(px[i]);
py[i] = float32_to_bfloat16(fabsf(v));
Expand All @@ -131,7 +149,9 @@ static void Abs_float16(struct onnx_node_t * n)
uint16_t * py = (uint16_t *)y->datas;
float v;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
{
v = float16_to_float32(px[i]);
py[i] = float32_to_float16(fabsf(v));
Expand All @@ -145,7 +165,9 @@ static void Abs_float32(struct onnx_node_t * n)
float * px = (float *)x->datas;
float * py = (float *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = fabsf(px[i]);
}

Expand All @@ -156,7 +178,9 @@ static void Abs_float64(struct onnx_node_t * n)
double * px = (double *)x->datas;
double * py = (double *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = fabs(px[i]);
}

Expand Down
18 changes: 12 additions & 6 deletions src/default/Acos.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include <onnx.h>
#include "../onnx.h"

static int Acos_init(struct onnx_node_t * n)
{
Expand Down Expand Up @@ -28,10 +28,12 @@ static void Acos_float16(struct onnx_node_t * n)
uint16_t * py = (uint16_t *)y->datas;
float v;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
{
v = float16_to_float32(px[i]);
py[i] = float32_to_float16(acosf(v));
py[i] = float32_to_float16(acos(v));
}
}

Expand All @@ -42,8 +44,10 @@ static void Acos_float32(struct onnx_node_t * n)
float * px = (float *)x->datas;
float * py = (float *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
py[i] = acosf(px[i]);
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = acos(px[i]);
}

static void Acos_float64(struct onnx_node_t * n)
Expand All @@ -53,7 +57,9 @@ static void Acos_float64(struct onnx_node_t * n)
double * px = (double *)x->datas;
double * py = (double *)y->datas;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = acos(px[i]);
}

Expand Down
6 changes: 3 additions & 3 deletions src/default/Acosh.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include <onnx.h>
#include "../onnx.h"

static int Acosh_init(struct onnx_node_t * n)
{
Expand Down Expand Up @@ -32,7 +32,7 @@ static void Acosh_float16(struct onnx_node_t * n)
for(i = 0, l = y->ndata; i < l; i++)
{
v = float16_to_float32(px[i]);
py[i] = float32_to_float16(acoshf(v));
py[i] = float32_to_float16(acosh(v));
}
}

Expand All @@ -45,7 +45,7 @@ static void Acosh_float32(struct onnx_node_t * n)
size_t i, l;

for(i = 0, l = y->ndata; i < l; i++)
py[i] = acoshf(px[i]);
py[i] = acosh(px[i]);
}

static void Acosh_float64(struct onnx_node_t * n)
Expand Down
38 changes: 25 additions & 13 deletions src/default/Add.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include <onnx.h>
#include "../onnx.h"

static int Add_init(struct onnx_node_t * n)
{
Expand Down Expand Up @@ -30,7 +30,8 @@ static void Add_int8(struct onnx_node_t * n)
int8_t * pa;
int8_t * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand All @@ -47,7 +48,8 @@ static void Add_int16(struct onnx_node_t * n)
int16_t * pa;
int16_t * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand All @@ -64,7 +66,8 @@ static void Add_int32(struct onnx_node_t * n)
int32_t * pa;
int32_t * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand All @@ -81,7 +84,8 @@ static void Add_int64(struct onnx_node_t * n)
int64_t * pa;
int64_t * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand All @@ -98,7 +102,8 @@ static void Add_uint8(struct onnx_node_t * n)
uint8_t * pa;
uint8_t * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand All @@ -115,7 +120,8 @@ static void Add_uint16(struct onnx_node_t * n)
uint16_t * pa;
uint16_t * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand All @@ -132,7 +138,8 @@ static void Add_uint32(struct onnx_node_t * n)
uint32_t * pa;
uint32_t * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand All @@ -149,7 +156,8 @@ static void Add_uint64(struct onnx_node_t * n)
uint64_t * pa;
uint64_t * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand All @@ -166,7 +174,8 @@ static void Add_float16(struct onnx_node_t * n)
uint16_t * pa;
uint16_t * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand All @@ -183,7 +192,8 @@ static void Add_float32(struct onnx_node_t * n)
float * pa;
float * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand All @@ -200,7 +210,8 @@ static void Add_float64(struct onnx_node_t * n)
double * pa;
double * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand All @@ -217,7 +228,8 @@ static void Add_13_bfloat16(struct onnx_node_t * n)
uint16_t * pa;
uint16_t * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i, l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand Down
5 changes: 3 additions & 2 deletions src/default/And.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include <onnx.h>
#include "../onnx.h"

static int And_7_init(struct onnx_node_t * n)
{
Expand Down Expand Up @@ -30,7 +30,8 @@ static void And_7_bool(struct onnx_node_t * n)
uint8_t * pa;
uint8_t * pb;

for(size_t i = 0, l = y->ndata; i < l; i++)
size_t i,l;
for(i=0, l = y->ndata; i < l; i++)
{
pa = onnx_tensor_broadcast_map_address(a, y, i);
pb = onnx_tensor_broadcast_map_address(b, y, i);
Expand Down
2 changes: 1 addition & 1 deletion src/default/ArgMax.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include <onnx.h>
#include "../onnx.h"

struct operator_pdata_t {
int axis;
Expand Down
2 changes: 1 addition & 1 deletion src/default/ArgMin.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include <onnx.h>
#include "../onnx.h"

struct operator_pdata_t {
int axis;
Expand Down
Loading