1#undef __ae2f_MACRO_GENERATED
2#define __ae2f_MACRO_GENERATED 1
3#ifndef ae2fVK_Ann_Mlp_auto_h
6#define ae2fVK_Ann_Mlp_auto_h
9#include <ae2fVK/Ann/Mlp.h>
10#undef __ae2f_MACRO_GENERATED
11#define __ae2f_MACRO_GENERATED 1
12#include <ae2fVK/Ann/Mlp.auto.h>
13#undef __ae2f_MACRO_GENERATED
14#define __ae2f_MACRO_GENERATED 1
15#include <ae2fVK/Ann/MlpSHADER.auto.h>
16#undef __ae2f_MACRO_GENERATED
17#define __ae2f_MACRO_GENERATED 1
18#include <ae2fVK/Ann/Slp.auto.h>
19#undef __ae2f_MACRO_GENERATED
20#define __ae2f_MACRO_GENERATED 1
23#include <ae2f/Macro.h>
24#undef __ae2f_MACRO_GENERATED
25#define __ae2f_MACRO_GENERATED 1
30#undef __ae2f_MACRO_GENERATED
31#define __ae2f_MACRO_GENERATED 1
33#undef __ae2f_MACRO_GENERATED
34#define __ae2f_MACRO_GENERATED 1
36#undef __ae2f_MACRO_GENERATED
37#define __ae2f_MACRO_GENERATED 1
39#undef __ae2f_MACRO_GENERATED
40#define __ae2f_MACRO_GENERATED 1
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65#define __ae2fVK_AnnMlpMk_imp(
90)\
91{
93 assert
(i_len_count > 2
);
96 (v_mk).m_U1.m_i = (i_len_count);
97 while((v_mk).m_U1.m_i-- && (i_len)[(v_mk).m_U1.m_i] <= UINT32_MAX
) {}
99 assert
(!"`i_len` exceeds the expected size (4 bytes)");
117 , i_learningrate_bias
118 , ((i_prm_offset) + sizeof(ae2fVK_AnnMlp) - sizeof(ae2f_AnnMlp))
122 unless((v_mk).m_U0.m_mkswap.m_mkbase) {
123 assert
(!"__ae2f_AnnMlpMk_imp went null");
128 if((v_mk).m_ret.m_err) {
129 assert
(!"__ae2f_AnnMlpMk_imp has failed.");
133 (v_mk).m_U0.m_mkswap.m_mkbase->m_vkres = VK_SUCCESS;
135 assert
(!"i_vkdev is null");
138 (v_mk).m_U0.m_mkswap.m_mkbase->m_vkdev = (i_vkdev);
139 (v_mk).m_U0.m_mkswap.m_mkbase->m_vkalloccalls = (iv_vkalloccalls);
141 assert
((v_mk).m_U0.m_mk.m_outc == (v_mk).m_U0.m_mkswap.m_mkbase->m_mlp.m_outc);
147 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkres
148 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkglobbuf
149 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkglobdevmem
151 , (v_mk).m_U1.m_vkbufcreatinfo
152 , (v_mk).m_U1.m_vkmemallocinfo
153 , VK_BUFFER_USAGE_STORAGE_BUFFER_BIT
154 , VK_SHARING_MODE_EXCLUSIVE
155 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkdev
156 , (v_mk).m_U2.m_vkmemreqs
158 , (v_mk).m_U3.m_vkmemtypeidx
160 , VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
165 (v_mk).m_U2.m_i = (i_len_count) * sizeof(uint32_t);
170 , (*(v_mk).m_U0.m_mkswap.m_mkbase)
172 , (v_mk).m_U3.m_mapped
177 if((v_mk).m_ret.m_err) {
178 assert
(!"__ae2fVK_AnnMlpMapRanged_imp has failed.");
181 , *(v_mk).m_U0.m_mkswap.m_mkbase
182 , 0
, ((i_len_count) * sizeof(uint32_t))
187 unless((v_mk).m_U3.m_mapped) {
188 assert
(!"__ae2fVK_AnnMlpMapRanged_imp went null");
192 (v_mk).m_U2.m_i = (i_len_count);
193 while((v_mk).m_U2.m_i--) {
195 = (i_len)[(v_mk).m_U2.m_i];
200 , *(v_mk).m_U0.m_mkswap.m_mkbase
201 , 0
, ((i_len_count) * sizeof(uint32_t))
209 (v_mk).m_U0.m_mk.m_mkbase->m_outc *
210 ((v_mk).m_U0.m_mk.m_mkbase->m_depth + 2
)
211 ) * sizeof(ae2f_float_t))
212 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkres
213 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vklocbuf
214 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vklocdevmem
216 , (v_mk).m_U1.m_vkbufcreatinfo
217 , (v_mk).m_U1.m_vkmemallocinfo
218 , VK_BUFFER_USAGE_STORAGE_BUFFER_BIT
219 , VK_SHARING_MODE_EXCLUSIVE
220 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkdev
221 , (v_mk).m_U2.m_vkmemreqs
223 , (v_mk).m_U3.m_vkmemtypeidx
225 , VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
229 if((v_mk).m_U0.m_mkswap.m_mkbase->m_vkres) {
230 assert
(!"__ae2fVK_AnnSlpMkAllocVKMem_imp");
234 (v_mk).m_U1.m_vkdescsetlayoutbind[0
].descriptorType
235 = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
236 (v_mk).m_U1.m_vkdescsetlayoutbind[0
].descriptorCount = 1
;
237 (v_mk).m_U1.m_vkdescsetlayoutbind[0
].pImmutableSamplers = NULL
;
238 (v_mk).m_U1.m_vkdescsetlayoutbind[0
].stageFlags = VK_SHADER_STAGE_COMPUTE_BIT;
240 (v_mk).m_U1.m_vkdescsetlayoutbind[1
]
241 = (v_mk).m_U1.m_vkdescsetlayoutbind[0
];
243 (v_mk).m_U1.m_vkdescsetlayoutbind[0
].binding = 0
;
244 (v_mk).m_U1.m_vkdescsetlayoutbind[1
].binding = 1
;
246 (v_mk).m_U2.m_vkdescsetlayoutcreatinfo.sType
247 = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
248 (v_mk).m_U2.m_vkdescsetlayoutcreatinfo.pNext = NULL
;
249 (v_mk).m_U2.m_vkdescsetlayoutcreatinfo.bindingCount = 2
;
250 (v_mk).m_U2.m_vkdescsetlayoutcreatinfo.pBindings
251 = (v_mk).m_U1.m_vkdescsetlayoutbind;
252 (v_mk).m_U2.m_vkdescsetlayoutcreatinfo.flags = 0
;
254 if(((v_mk).m_U0.m_mkswap.m_mkbase->m_vkres = vkCreateDescriptorSetLayout(
256 , &(v_mk).m_U2.m_vkdescsetlayoutcreatinfo
258 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkdescsetlayout
261 assert
(!"Failed VkCreateDescriptorSetLayout");
265 if(!(v_mk).m_U0.m_mkswap.m_mkbase->m_vkdescsetlayout[0
]) {
266 assert
(!"VkCreateDescriptorSetLayout went null");
271 (v_mk).m_U1.m_vkpushconstrange.offset = 0
;
272 (v_mk).m_U1.m_vkpushconstrange.size = 0
;
273 (v_mk).m_U1.m_vkpushconstrange.stageFlags = VK_SHADER_STAGE_COMPUTE_BIT;
275 (v_mk).m_U2.m_vkpipelayoutcreatinfo.flags = 0
;
276 (v_mk).m_U2.m_vkpipelayoutcreatinfo.pNext = NULL
;
277 (v_mk).m_U2.m_vkpipelayoutcreatinfo.pPushConstantRanges
278 = &(v_mk).m_U1.m_vkpushconstrange;
279 (v_mk).m_U2.m_vkpipelayoutcreatinfo.pushConstantRangeCount = 1
;
280 (v_mk).m_U2.m_vkpipelayoutcreatinfo.setLayoutCount = 1
;
281 (v_mk).m_U2.m_vkpipelayoutcreatinfo.sType
282 = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
283 (v_mk).m_U2.m_vkpipelayoutcreatinfo.pSetLayouts
284 = (v_mk).m_U0.m_mkswap.m_mkbase->m_vkdescsetlayout;
288 , (v_mk).m_U1.m_vkpushconstrange
289 , (v_mk).m_U2.m_vkpipelayoutcreatinfo
291 , (v_mk).m_U0.m_mkswap.m_mkbase
292 , ae2fVK_eAnnMlpPipeLayouts_kPredict
298 if((v_mk).m_U0.m_mkswap.m_mkbase->m_vkres != VK_SUCCESS) {
299 assert
(!"__ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp 0 has failed.");
305 , (v_mk).m_U1.m_vkpushconstrange
306 , (v_mk).m_U2.m_vkpipelayoutcreatinfo
308 , (v_mk).m_U0.m_mkswap.m_mkbase
309 , ae2fVK_eAnnMlpPipeLayouts_kTrain
310 , sizeof(uint32_t) + (sizeof(ae2f_float_t) * 2
)
315 if((v_mk).m_U0.m_mkswap.m_mkbase->m_vkres != VK_SUCCESS) {
316 assert
(!"__ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp 0 has failed.");
320 assert
(i_vkcldefinition);
321 assert
(i_vkcldeclaration);
325 (v_mk).m_U1.m_clsrc_v
327 , (i_vkcldeclaration)
332 unless((v_mk).m_U1.m_clsrc_v) {
333 assert
(!"__ae2fVK_AnnSlpMkCLSPVVerbose_imp has failed.");
338 if(((v_mk).m_U4.m_clspverror = clspvCompileFromSourcesString(
340 , &(v_mk).m_U1.m_clsrc
343 "-cl-fast-relaxed-math "
344 "-cl-single-precision-constant"
350 , &(v_mk).m_U2.m_vkshadermodcreatinfo.pCode
353 , &(v_mk).m_U2.m_vkshadermodcreatinfo.codeSize
354 , &(v_mk).m_U3.m_cllog
357 free((v_mk).m_U1.m_clsrc_v);
358 free(ae2f_const_cast(uint32_t*, (v_mk).m_U2.m_vkshadermodcreatinfo.pCode));
359 free((v_mk).m_U3.m_cllog);
361 switch((v_mk).m_U4.m_clspverror) {
364 assert
(!"clspvCompileFromSourcesString has failed.");
366 case CLSPV_OUT_OF_HOST_MEM:
368 assert
(!"clspvCompileFromSourcesString has failed its allocation.");
371 case CLSPV_INVALID_ARG:
373 assert
(!"clspvCompileFromSourcesString found arguments invalid.");
376 case CLSPV_SUCCESS: abort();
382 unless((v_mk).m_U2.m_vkshadermodcreatinfo.pCode) {
383 assert
(!"clspvCompileFromSourcesString went null.");
388 free((v_mk).m_U1.m_clsrc_v);
390 (v_mk).m_U2.m_vkshadermodcreatinfo.sType
391 = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
392 (v_mk).m_U2.m_vkshadermodcreatinfo.flags = 0
;
393 (v_mk).m_U2.m_vkshadermodcreatinfo.pNext = NULL
;
395 if((((v_mk).m_U0.m_mkswap.m_mkbase->m_vkres = vkCreateShaderModule(
397 , &(v_mk).m_U2.m_vkshadermodcreatinfo
399 , &(v_mk).m_U0.m_mkswap.m_mkbase->m_vkshadermodule
401 assert
(!"vkCreateShaderModule has failed.");
402 free(ae2f_const_cast(uint32_t*, (v_mk).m_U2.m_vkshadermodcreatinfo.pCode));
403 free((v_mk).m_U3.m_cllog);
407 unless((v_mk).m_U0.m_mkswap.m_mkbase->m_vkshadermodule) {
408 assert
(!"vkCreateShaderModule went null");
409 free(ae2f_const_cast(uint32_t*, (v_mk).m_U2.m_vkshadermodcreatinfo.pCode));
410 free((v_mk).m_U3.m_cllog);
415 free(ae2f_const_cast(uint32_t*, (v_mk).m_U2.m_vkshadermodcreatinfo.pCode));
416 free((v_mk).m_U3.m_cllog);
422 , (v_mk).m_U1.m_vkcomputepipecreatinfo
423 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkpipelayout
424 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkshadermodule
426 , ae2fVK_eAnnMlpPipes_kPredict
427 , ae2fVK_eAnnMlpPipeLayouts_kPredict
430 if((v_mk).m_ret.m_err) {
431 assert
(!"__ae2fVK_AnnSlpMkLoadPipeCreat_imp");
438 , (v_mk).m_U1.m_vkcomputepipecreatinfo
439 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkpipelayout
440 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkshadermodule
442 , ae2fVK_eAnnMlpPipes_kPredictStream
443 , ae2fVK_eAnnMlpPipeLayouts_kPredict
446 if((v_mk).m_ret.m_err) {
447 assert
(!"__ae2fVK_AnnSlpMkLoadPipeCreat_imp");
454 , (v_mk).m_U1.m_vkcomputepipecreatinfo
455 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkpipelayout
456 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkshadermodule
458 , ae2fVK_eAnnMlpPipes_kFollow
459 , ae2fVK_eAnnMlpPipeLayouts_kTrain
462 if((v_mk).m_ret.m_err) {
463 assert
(!"__ae2fVK_AnnSlpMkLoadPipeCreat_imp");
470 , (v_mk).m_U1.m_vkcomputepipecreatinfo
471 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkpipelayout
472 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkshadermodule
474 , ae2fVK_eAnnMlpPipes_kTrainAuto
475 , ae2fVK_eAnnMlpPipeLayouts_kTrain
478 if((v_mk).m_ret.m_err) {
479 assert
(!"__ae2fVK_AnnSlpMkLoadPipeCreat_imp");
483 if(((v_mk).m_U0.m_mkswap.m_mkbase->m_vkres
484 = vkCreateComputePipelines(
487 , ae2fVK_eAnnMlpPipes_LEN
488 , (v_mk).m_U1.m_vkcomputepipecreatinfo
490 , (v_mk).m_U0.m_mkswap.m_mkbase->m_vkpipeline
494 assert
(!"vkCreateComputePipelines has failed.");
499 assert
((v_mk).m_U0.m_mkswap.m_mkbase->m_vkres == VK_SUCCESS);
501 if((v_mk).m_ret.m_err) {
502 assert
(!"__ae2fVK_AnnSlpMkCreatDescPool has failed.");
508 if(!(v_mk).m_U0.m_mkswap.m_mkbase) {
509 assert
(!"Allocation has failed.");
514 if((v_mk).m_U0.m_mkswap.m_mkbase->m_vkres != VK_SUCCESS) {
515 assert
(!"m_vkres was not VK_SUCCESS");
520 assert
((v_mk).m_ret.m_err == ae2f_errGlob_OK && "Final status is no good");
522}
524#define __ae2fVK_AnnMlpClean_imp(
530){
534 , (v_mlp).m_vkalloccalls
539 , (v_mlp).m_vkglobbuf
540 , (v_mlp).m_vkalloccalls
545 , (v_mlp).m_vkpipeline
546 [ae2fVK_eAnnMlpPipes_kPredict]
547 , (v_mlp).m_vkalloccalls
552 , (v_mlp).m_vkpipeline
553 [ae2fVK_eAnnMlpPipes_kFollow]
554 , (v_mlp).m_vkalloccalls
559 , (v_mlp).m_vkpipeline
560 [ae2fVK_eAnnMlpPipes_kTrainAuto]
561 , (v_mlp).m_vkalloccalls
566 , (v_mlp).m_vkpipeline
567 [ae2fVK_eAnnMlpPipes_kPredictStream]
568 , (v_mlp).m_vkalloccalls
571 vkDestroyDescriptorSetLayout(
573 , (v_mlp).m_vkdescsetlayout
574 [ae2fVK_eAnnMlpDescLayouts_ONLY]
575 , (v_mlp).m_vkalloccalls
580 , (v_mlp).m_vkglobdevmem
581 , (v_mlp).m_vkalloccalls
585 , (v_mlp).m_vklocdevmem
586 , (v_mlp).m_vkalloccalls
589 vkDestroyPipelineLayout(
591 , (v_mlp).m_vkpipelayout
592 [ae2fVK_eAnnMlpPipeLayouts_kPredict]
593 , (v_mlp).m_vkalloccalls
596 vkDestroyPipelineLayout(
598 , (v_mlp).m_vkpipelayout
599 [ae2fVK_eAnnMlpPipeLayouts_kTrain]
600 , (v_mlp).m_vkalloccalls
602}
604#define __ae2fVK_AnnMlpMapGoal_imp(
613)\
614{
624}
626#define __ae2fVK_AnnMlpUnMapGoal_imp(
633)\
634{
641}
643#define __ae2fVK_AnnMlpMapOutStream_imp(
652)\
653{
663}
665#define __ae2fVK_AnnMlpUnMapOutStream_imp(
672) \
673{
677 , sizeof(uint32_t) * (iv_mlp).m_mlp.m_depth
678 , sizeof(ae2f_float_t) * (iv_mlp).m_mlp.m_outc * (iv_mlp).m_mlp.m_depth
680}
682#define __ae2fVK_AnnMlpMapWB_imp(
692)\
693{
700 , sizeof(uint32_t) * (iv_mlp).m_mlp.m_depth
701 + sizeof(ae2f_float_t) * (iv_mlp).m_mlp.m_outc * (iv_mlp).m_mlp.m_depth
702 , sizeof(ae2f_float_t) * (iv_mlp).m_mlp.m_outc * ((iv_mlp).m_mlp.m_outc + 1
) * ((iv_mlp).m_mlp.m_depth - 1
)
706 assert
(!"__ae2fVK_AnnSlpMapRangedGeneric_imp has failed.");
711 assert
(!"__ae2fVK_AnnSlpMapRangedGeneric_imp went null.");
717 ((iv_mlp).m_mlp.m_depth - 1
) *
718 (iv_mlp).m_mlp.m_outc * (iv_mlp).m_mlp.m_outc;
721}
723#define __ae2fVK_AnnMlpUnMapWB_imp(
730) \
731{
735 , sizeof(uint32_t) * (iv_mlp).m_mlp.m_depth
736 + sizeof(ae2f_float_t) * (iv_mlp).m_mlp.m_outc * (iv_mlp).m_mlp.m_depth
737 , sizeof(ae2f_float_t) * (iv_mlp).m_mlp.m_outc * ((iv_mlp).m_mlp.m_outc + 1
) * ((iv_mlp).m_mlp.m_depth - 1
)
739}
742#undef __ae2f_MACRO_GENERATED
744#define __ae2f_MACRO_GENERATED 0
void ae2f_AnnAct_t(ae2f_float_t *ret, ae2f_float_t x)
Customisable activasion function type.
void ae2f_AnnLoss_t(ae2f_float_t *ret, const ae2f_float_t *out, const ae2f_float_t *goal, size_t index, size_t count)
Specify the way of calculating loss.
#define ae2f_enumdef(name,...)
#define ae2f_structdef(key, name)
#define ae2f_const_cast(t, v)
#define ae2f_static_cast(t, v)
#define ae2f_reinterpret_cast(t, v)
#define unless(...)
Invokes when condition is false.
#define __ae2fVK_AnnMlpBiasOff(i_depth, i_outc)
#define __ae2fVK_AnnMlpUnMapRanged_imp
ae2fVK_AnnSlpUnMap_t ae2fVK_AnnMlpUnMap_t
#define __ae2fVK_AnnMlpDeltaStreamSz(i_depth, i_outc)
#define __ae2fVK_AnnMlpMapRangedGeneric_imp
#define __ae2fVK_AnnMlpGoalSz(i_depth, i_outc)
VkMappedMemoryRange ae2fVK_AnnMlpMapRangedGeneric_t
#define __ae2fVK_AnnMlpMdlOff(...)
#define __ae2fVK_AnnMlpOutStreamSz(i_depth, i_outc)
#define __ae2fVK_AnnMlpWeightOff(i_depth, i_outc)
#define __ae2fVK_AnnMlpMdlSz(i_depth,...)
#define __ae2fVK_AnnMlpGoalOff(i_depth, i_outc)
ae2fVK_AnnSlpDescPoolCmdMk_t ae2fVK_AnnMlpDescPoolCmdMk_t
#define __ae2fVK_AnnMlpOutStreamOff(i_depth, i_outc)
#define __ae2fVK_AnnMlpWeightSz(i_depth, i_outc)
#define __ae2fVK_AnnMlpBiasSz(i_depth, i_outc)
#define __ae2fVK_AnnMlpGlobMemSz(i_depth, i_outc)
#define __ae2fVK_AnnMlpDeltaStreamOff(i_depth, i_outc)
#define __ae2fVK_AnnSlpGoalSz(i_inp, i_out)
ae2fVK_eAnnSlpDescLayouts
@ ae2fVK_eAnnSlpDescLayouts_kPredict
@ ae2fVK_eAnnSlpDescLayouts_LEN
@ ae2fVK_eAnnSlpDescLayouts_kTrain
#define __ae2fVK_AnnSlpBiasOff(i_inp, i_out)
#define __ae2fVK_AnnSlpGoalOff(i_inp, i_out)
#define __ae2fVK_AnnSlpOutOff(i_inp, i_out)
#define __ae2fVK_AnnSlpInpSz(i_inp,...)
VkMappedMemoryRange ae2fVK_AnnSlpMapRangedGeneric_t
#define __ae2fVK_AnnSlpBiasSz(i_inp, i_out)
#define __ae2fVK_AnnSlpWeightSz(i_inp, i_out)
#define __ae2fVK_AnnSlpInpOff(i_inp, i_out)
ae2fVK_eAnnSlpPipeLayouts
@ ae2fVK_eAnnSlpPipeLayouts_LEN
@ ae2fVK_eAnnSlpPipeLayouts_kTrain
@ ae2fVK_eAnnSlpPipeLayouts_kPredict
@ ae2fVK_eAnnSlpPipeLayouts_kFit
#define __ae2fVK_AnnSlpDeltaSz(i_inp, i_out)
#define __ae2fVK_AnnSlpWeightOff(i_inp, i_out)
@ ae2fVK_eAnnSlpDescPools_kPredict
@ ae2fVK_eAnnSlpDescPools_kTrain
@ ae2fVK_eAnnSlpDescPools_LEN
#define __ae2fVK_AnnSlpOutSz(i_inp, i_out)
VkMappedMemoryRange ae2fVK_AnnSlpUnMap_t
char STATIC_ASSERT_ae2fVK_AnnSlpMkU2_vkdescsetlayoutbind_sz[sizeof(ae2fVK_AnnSlpMkU2S0_t)==sizeof(VkDescriptorSetLayoutBinding) *2 ? 1 :-1]
@ ae2fVK_eAnnSlpPipes_kFit
@ ae2fVK_eAnnSlpPipes_kTrain
@ ae2fVK_eAnnSlpPipes_kPredict
@ ae2fVK_eAnnSlpPipes_LEN
This is the end of the value, which typically means the count of actual kernel used.
@ ae2fVK_eAnnSlpPipes_kFollow
#define __ae2fVK_AnnSlpDeltaOff(i_inp, i_out)
#define ae2fVK_AnnMlpSHADER
#define __ae2fVK_AnnSlpDescPoolMk_imp(v_descpool, r_pool, r_reterr, iv_slp, i_vkdescpoolcreatflags, i_vkmaxdescsets)
#define __ae2fVK_AnnSlpDescPoolCmdClean_imp(iv_slp, i_pool, i_cmd)
#define __ae2fVK_AnnSlpDescPoolCmdMk_imp(COMMANDONRECORDING, v_cmdmk, r_cmd, iv_slp, i_pool, iv_err, i_desccount, i_offglob, i_szglob, i_offloc, i_szloc, i_desclayout, i_pipe, i_pipelayout, i_vkcmdbuf)
#define __ae2fVK_AnnSlpDescPoolClean_imp(i_slp, i_pool)
#define ae2f_errGlob_OK
The Operation you've wanted went successful.
#define ae2f_errGlob_ALLOC_FAILED
stdlib allocating functions (malloc, calloc, realloc) has been failed.
#define ae2f_errGlob_NFOUND
Found some errors, but not by parameters. The operation has failed.
#define ae2f_errGlob_WRONG_OPERATION
Found that parameter sent by programmer is invalid. The operation may have been ceased while the midd...
uint8_t ae2f_err_t
Informs that this number represents the error.
#define ae2f_errGlob_PTR_IS_NULL
Failed to refer the pointer either l-value inside the function.
#define ae2f_errGlob_IMP_NOT_FOUND
Failed to find the function on preprocessor which is callable for some reason No operation has beed d...
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnMlpDescPoolCmd
ae2fVK_AnnSlpCreatDescPool_t ae2fVK_AnnMlpCreatDescPool_t
ae2fVK_AnnSlpDescPool ae2fVK_AnnMlpDescPool
#define __ae2fVK_AnnSlpMkCLSPVVerbose_imp(r_handle, ir_err, i_first, i_second, i_third)
#define __ae2fVK_AnnSlpMapRangedGeneric_imp(T, v_vkmapmemrange, iv_slp, r_err, r_ptr, i_off, i_sz)
#define __ae2fVK_AnnSlpMkLoadPipeCreat_imp(CMDONERR, r_reterr, pipecreat, pipelayout, shadermod, entrypoint, idx_pipe, idx_pipelayout)
#define __ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp(CMDONERR, v_vkpushconstrange, v_vkpipelayoutcreatinfo, r_reterr, iv_slpptr, idx, szrequired, vkalloccalls, vkdev)
#define __ae2fVK_AnnSlpUnMapRanged_imp(v_out, vi_slp, i_off, i_sz)
#define __ae2fVK_AnnSlpMkAllocVKMem_imp(CMDONERR, sz, r_vkres, r_vkbuf, r_vkdevmem, v_errbit, v_vkbufcreatinfo, v_memallocinfo, vkbufuseflags, vksharemode, vkdev, v_vkmemreq, vkalloccalls, v_memtypeidx, memtypeidx_invalid_minus_one, vkpropflag_req, vkphydevmemprops)
#define __ae2f_MACRO_GENERATED
#define __ae2f_AnnMlpMk_imp(...)
#define ae2f_MAC()
delta to delta
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const iv_bias_opt
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t const VkDevice const VkPhysicalDeviceMemoryProperties ae2f_opt VkAllocationCallbacks *const iv_vkalloccalls
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t const VkDevice const VkPhysicalDeviceMemoryProperties i_vkmemprops
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t i_extra
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t i_learningrate
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const iv_outstream_opt
ae2fVK_AnnMlp ae2f_err_t ae2f_float_t ae2f_float_t * r_ptrbias
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const iv_deltastream_opt
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t i_len_count
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const i_actderiv
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t i_learningrate_bias
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t const VkDevice const VkPhysicalDeviceMemoryProperties ae2f_opt VkAllocationCallbacks *const ae2f_opt const char *const ae2f_opt const char *const i_vkcldefinition
ae2f_opt ae2f_float_t *const iv_weight_opt
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t const VkDevice i_vkdev
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t i_prm_offset
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const i_act
ae2fVK_AnnMlp ae2f_err_t ae2f_float_t * r_ptr
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const ae2f_float_t ae2f_float_t const VkDevice const VkPhysicalDeviceMemoryProperties ae2f_opt VkAllocationCallbacks *const ae2f_opt const char *const i_vkcldeclaration
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const i_len_swap
ae2fVK_AnnMlp ae2f_err_t r_err
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const i_len
ae2fVK_AnnMlp ae2f_err_t ae2f_float_t * r_ptrweight
ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const ae2f_opt ae2f_float_t *const const uint32_t const size_t *const ae2f_opt size_t *const ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t **const ae2f_opt ae2f_AnnAct_t **const ae2f_AnnLoss_t *const i_lossderiv