1#undef __ae2f_MACRO_GENERATED
2#define __ae2f_MACRO_GENERATED 1
7#undef __ae2f_MACRO_GENERATED
8#define __ae2f_MACRO_GENERATED 1
23
24
25
26
27
28
29
43)\
44{
45 if((i_iidx) < (i_isz) && !(i_oidx)) {
46 i_actderiv_then(&(v_tmp), (i_inp)[i_iidx]);
47 (r_delta_then)[i_iidx] = (v_tmp) * (i_deltaseed)[i_iidx];
49}
51#define _clMlpGetHD1_Q(
63)\
64{
65 if((i_oidx) < (i_osz) && (i_iidx) < (i_isz)) {
66 (r_delta_then)[(i_iidx)]
68 (i_weight)[(i_isz) * (i_oidx) + (i_iidx)] * (i_delta)[i_oidx]
71}
85)\
86{
87 if((i_oidx) == 0
&& (i_iidx) < (i_isz)) {
89 ae2f_float_t v_ret = 0
;
92 (v_ret) += (i_weight)[(i_isz) * (v_oidx) + (i_iidx)] * (i_delta)[(v_oidx)];
95 (r_delta_then)[(i_iidx)] = (v_ret);
97}
112)\
113{
114 if((i_iidx) < (i_isz) && (i_oidx) < (i_osz)) {
115 ONE(r_delta_then, i_weight, i_delta, i_iidx, i_isz, i_oidx, i_osz);
117}
125#undef __ae2f_MACRO_GENERATED
127#define __ae2f_MACRO_GENERATED 0
#define ae2f_structdef(key, name)
__kernel void kTrainAuto(__global void *glob, __local ae2f_float_t *loc, lrlsz_t lr)
loc ae2f_float_t[lsz - 1][Page]: OutStream ae2f_float_t[lsz - 1][Page]: DeltaStream
#define p_weight
sizeof(ae2f_float_t) * pgsz_sqr * llsz
#define ACT(layer_idx, r, x)
#define ACT_DERIV(layer_idx, r, x)
#define p_outstream
sizeof(ae2f_float_t) * lsz * pgsz
__kernel void kPredictStream(__global void *glob, __local ae2f_float_t *loc, const uint32_t lsz)
loc ae2f_float_t[Page]: inp ae2f_float_t[Page]: out
#define p_deltastream
sizeof(ae2f_float_t) * pgsz * llsz
#define p_goal
sizeof(ae2f_float_t) * pgsz
#define p_bias
sizeof(ae2f_float_t) * pgsz * llsz
__kernel void kPredict(__global void *glob, __local ae2f_float_t *loc, const uint32_t lsz)
loc ae2f_float_t[Page]: inp ae2f_float_t[Page]: out
char STATIC_ASSERT_LRLSZEL_SZ[sizeof(lrlszel_t)==(sizeof(uint32_t) > sizeof(ae2f_float_t) ? sizeof(uint32_t) :sizeof(ae2f_float_t)) ? 1 :-1]
#define p_layerszlist
lsz * sizeof(uint32_t)
char STATIC_ASSERT_LRLSZ_SZ[sizeof(lrlsz_t)==sizeof(lrlszel_t) *3 ? 1 :-1]
__kernel void kFollow(__global void *glob, __local ae2f_float_t *loc, lrlsz_t lr)
loc ae2f_float_t[lsz - 1][Page]: OutStream ae2f_float_t[lsz - 1][Page]: DeltaStream
#define CLK_ALL_MEM_FENCE
Contains both LOCAL and GLOBAL.
size_t get_global_id(uint dimindx)
#define work_group_reduce_add(x)
size_t get_global_size(uint dimindx)
void barrier(cl_mem_fence_flags flags)
#define __ae2f_AnnSlpFollowOneW_imp(inp, delta, weight, learningrate, inp_sz, inp_idx, out_sz, out_idx)
Weights.
#define __ae2f_AnnSlpFollowOneB_imp(r_bias, delta, learningrate_bias)
#define __ae2f_AnnSlpFetchDeltaOne_imp(v_fetchdelta_0, v_fetchdelta_1, out, out_desired, actderiv_opt, lossderiv, retdelta, oidx, osz)
#define _clMlpGetHD1(r_delta_then, i_weight, i_delta, i_iidx, i_isz, i_oidx, i_osz)
#define _clMlpRvrse(v_tmp, r_delta_then, i_oidx, i_iidx, i_isz, i_actderiv_then, i_inp, i_deltaseed)
delta to delta Propagate
#define clMlpGetHD(...)
GetHidDelta Need no structure.
void clMlpGetHD1_t(ae2f_float_t *const r_delta, const ae2f_float_t *const i_weight, const ae2f_float_t *const i_delta, const size_t i_iidx, const size_t i_isz, const size_t i_oidx, const size_t i_osz)
#define _clMlpGetHD(ONE, r_delta_then, i_weight, i_delta, i_iidx, i_isz, i_oidx, i_osz)