1#define ae2f_NEED_CLASS 0
3#if __ae2f_MACRO_GENERATED
4#define ae2fVK_clspv_IS_OPENCL 1
10#define ACT(layer_idx, r, x)
14#define ACT_DERIV(layer_idx, r, x)
18#define LOSS_DERIV(r, y, y_desired, i, c)
73#define l_inp(O_R) (((loc) + pgsz * ((lidx) O_R)))
74#define l_out(O_R) (((loc) + pgsz * ((lidx + 1
) O_R)))
76#define lp_deltastream ((loc) + pgsz * ((lsz)))
81#define ACT_RUN(r, x) ACT(lidx, r, x)
84#define ACT_RUN_THEN(r, x) ACT((lidx - 1
), r, x)
85#define ACT_DERIV_RUN_THEN(r, x) ACT_DERIV((lidx - 1
), r, x)
89
90
91
92
105 while(++lidx <
llsz - 1) {
114
115
116
117
130 while(++lidx <
llsz - 1) {
132 if(oidx <
r_osz && iidx == 0)
149 lrlszel_t m_lsz, m_weight, m_bias;
162
163
164
165
170#define lsz lr.m_lsz.m_u
217 ,
r_isz, ACT_DERIV_RUN_THEN
257 ,
r_isz, ACT_DERIV_RUN_THEN
286
287
288
289
295#define lsz lr.m_lsz.m_u
313 if(iidx <
r_isz && oidx == 0)
318 for(; lidx <
llsz - 1; lidx++) {
327 if(oidx <
r_osz && iidx == 0) {
379 ,
r_isz, ACT_DERIV_RUN_THEN
#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)
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 _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.