4#define ae2f_NEED_CLASS 0
6#include <ae2fVK/clspv_clkeys.h>
7#include <ae2f/Ann/Slp.core.h>
8#include <ae2f/Ann/Slp.auto.h>
11typedef ae2f_AnnSlpPredictOne_t _clSlpPredict_t;
14 _clSlpPredict_t v_predict,
28 _clSlpPredict_t _v_predict;
29 (_v_predict).m_tmp = 0;
30 for((_v_predict).m_j = (
isz); (_v_predict).m_j--;) {
36 ACT(&(_v_predict).m_ret
, (_v_predict).m_tmp
);
37 (
loc)[
oidx] = (_v_predict).m_ret;
47 _clSlpPredict_t_Q v_predict,
61 if((oidx) < (osz) && (iidx) < (isz)) {
63 (p_weight)[(oidx) * (isz) + (iidx)] * (p_inp)[iidx]
67 ACT((&(v_predict).m_ret), ((v_predict).m_sum + (p_bias)[oidx]));
68 (loc)[oidx] = (v_predict).m_ret;
73#define clSlpPredict CL_Q_CVRT(_clSlpPredict)
74#define clSlpPredict_t CL_Q_CVRT(_clSlpPredict_t)
void ae2f_AnnAct_t(ae2f_float_t *ret, ae2f_float_t x)
Customisable activasion function type.
#define ae2f_structdef(key, name)
#define work_group_reduce_add(x)
#define ae2f_MAC()
delta to delta
ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const p_bias
ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const size_t iidx
ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const size_t const size_t isz
ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const size_t const size_t const size_t oidx
ae2f_float_t *const const ae2f_float_t *const p_inp
ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const size_t const size_t const size_t const size_t osz
ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const p_weight
ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const size_t const size_t const size_t const size_t ae2f_AnnAct_t ACT