ae2f_docs
Mlp.auto.h
1#undef __ae2f_MACRO_GENERATED
2#define __ae2f_MACRO_GENERATED 1
3#ifndef Mlp_h
4#define Mlp_h
5
6#include "./Slp.auto.h"
7#undef __ae2f_MACRO_GENERATED
8#define __ae2f_MACRO_GENERATED 1
9#include "./mac.h"
10#undef __ae2f_MACRO_GENERATED
11#define __ae2f_MACRO_GENERATED 1
12
13/**
14 * @brief
15 * delta to delta
16 * Bwd
17 *
18 * @inp aka out_then
19 * @deltaseed
20 * */
21#define _clMlpRvrse(
22 /** tparam */
23
24
25 /** param */
26 /* , ae2f_float_t */ v_tmp,
27 /* ae2f_float_t* const */ r_delta_then,
28 /* const size_t */ i_oidx,
29 /* const size_t */ i_iidx,
30 /* const size_t */ i_isz,
31 /* ae2f_AnnActFFN_t */ i_actderiv_then,
32 /* constae2f_float_t* const */ i_inp,
33 /* constae2f_float_t* const */ i_deltaseed \
34)\
35{
36 if((i_iidx) < (i_isz) && !(i_oidx)) {
37 i_actderiv_then(&(v_tmp), (i_inp), i_iidx, i_isz);
38 (r_delta_then)[i_iidx] = (v_tmp) * (i_deltaseed)[i_iidx];
39 } \
40}
41
42
43#define _clMlpGetHD1_t _clAtomAddF_t
44
46typedef _clMlpGetHD1_t(__global, host_float_t) clMlpGetHD1_t;
47#endif
48
49#define _clMlpGetHD1(
50 /** tparam */
51 __global,
52
53 /** param */
54 /* , clMlpGetHD1_t */ v_mem,
55 /* ae2f_float_t* const */ r_delta_then,
56 /* constae2f_float_t* const */ i_weight,
57 /* constae2f_float_t* const */ i_delta,
58 /* const size_t */ i_iidx,
59 /* const size_t */ i_isz,
60 /* const size_t */ i_oidx,
61 /* const size_t */ i_osz \
62)\
63{
64 if((i_oidx) < (i_osz) && (i_iidx) < (i_isz)) {
65 unless((i_oidx)) (r_delta_then)[i_iidx] = 0;
66 _clAtomAddF(__global
67 , (v_mem)
68 , &(r_delta_then)[(i_iidx)]
69 , (i_weight)[(i_isz) * (i_oidx) + (i_iidx)] * (i_delta)[i_oidx]
70 );
71 } \
72}
73
74#endif
75
76#undef __ae2f_MACRO_GENERATED
77
78#define __ae2f_MACRO_GENERATED 0
#define ae2f_structdef(key, name)
Definition Cast.h:110
#define unless(...)
Invokes when condition is false.
Definition Cast.h:103
#define __ae2f_MACRO_GENERATED
Definition Conv.auto.h:2
#define _r_isz(lidx)
Definition Mlp.cl.c:62
#define m_weight
Definition Mlp.cl.c:187
#define _r_osz(lidx)
Definition Mlp.cl.c:63
#define _r_weight(lidx)
Definition Mlp.cl.c:59
#define pgsz
Definition Mlp.cl.c:28
#define ACT(layer_idx, r, y, i, c)
Definition Mlp.cl.c:17
#define tmp1
#define p_outstream
Definition Mlp.cl.c:42
#define r_out
Definition Mlp.cl.c:66
#define pgsz_sqr
Definition Mlp.cl.c:31
#define llsz
Definition Mlp.cl.c:37
#define ACT_DERIV(layer_idx, r, y, i, c)
Definition Mlp.cl.c:21
#define m_bias
Definition Mlp.cl.c:188
#define _r_bias(lidx)
Definition Mlp.cl.c:60
#define l_inp(O_R)
Definition Mlp.cl.c:82
#define weightsz
Definition Mlp.cl.c:30
#define l_delta
Definition Mlp.cl.c:86
#define r_inp
Definition Mlp.cl.c:65
#define l_out(O_R)
Definition Mlp.cl.c:83
#define l_delta_then
Definition Mlp.cl.c:87
#define r_weight_then
Definition Mlp.cl.c:75
#define loc
Definition Mlp.cl.c:81
#define _r_out(lidx)
Definition Mlp.cl.c:58
#define p_weight
Definition Mlp.cl.c:46
#define p_deltastream
Definition Mlp.cl.c:52
#define p_goal
Definition Mlp.cl.c:55
#define p_layerszlist
Definition Mlp.cl.c:40
#define _r_inp(lidx)
Definition Mlp.cl.c:57
#define r_delta
Definition Mlp.cl.c:69
#define p_bias
Definition Mlp.cl.c:49
#define _r_delta(lidx)
Definition Mlp.cl.c:61
#define lp_deltastream
Definition Mlp.cl.c:85
#define r_weight
Definition Mlp.cl.c:67
#define r_isz
Definition Mlp.cl.c:70
#define lsz
Definition Mlp.cl.c:34
#define r_osz
Definition Mlp.cl.c:71
#define r_bias
Definition Mlp.cl.c:68
#define __global
Definition addrspec.h:8
#define __local
Definition addrspec.h:10
#define __kernel
Definition addrspec.h:7
#define __ae2f_AnnSlpFetchDeltaOne_imp(rret, ptr_tmp0, ptr_tmp1, prm_out, prm_out_desired, prm_oidx, prm_osz, fn_actderiv, fn_lossderiv)
Definition Slp.auto.h:528
#define __ae2f_AnnSlpFollowOneW_imp(inp, delta, weight, learningrate, inp_sz, inp_idx, out_sz, out_idx)
Definition Slp.auto.h:381
#define __ae2f_AnnSlpFollowOneB_imp(rret_bias, prm_delta, prm_learningrate_bias)
Definition Slp.auto.h:400
#define size_t
Definition mac.h:20
#define CAST(t, x)
Definition mac.h:16
#define host_float_t
Definition mac.h:9
#define uint
Definition sclr.h:11
#define _clMlpGetHD1_t
Definition Mlp.auto.h:43
#define _clMlpGetHD1(__global, v_mem, r_delta_then, i_weight, i_delta, i_iidx, i_isz, i_oidx, i_osz)
Definition Mlp.auto.h:49
#define _clMlpRvrse(v_tmp, r_delta_then, i_oidx, i_iidx, i_isz, i_actderiv_then, i_inp, i_deltaseed)
Definition Mlp.auto.h:21
#define _clAtomAddF(__global, v_mem, prm_dst, prm_val)
Definition Slp.auto.h:42
#define _clAtomAddF_t(__global, host_float_t)
Definition Slp.auto.h:24
#define _clSlpPredict(__global, v_mem, ret, loc, p_inp, p_weight, p_bias, iidx, isz, oidx, osz, ACT)
Definition Slp.auto.h:81
Definition Mlp.cl.c:97