ae2f_docs
Slp.auto.h File Reference
#include <ae2fVK/Ann/Slp.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>
#include <ae2fVK/Ann/SlpSHADER.auto.h>

Go to the source code of this file.

Macros

#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define ae2fVK_Ann_Slp_c
#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define __ae2f_MACRO_GENERATED   1
#define CMDONERR
#define __ae2f_MACRO_GENERATED   1
#define __ae2fVK_AnnSlpMkFndMemProp_imp(CMDONERR, r_memtypeidx, v_errbit, memtypeidx_invalid_minus_one, vkpropflag_req, vkphydevmemprops)
#define __ae2fVK_AnnSlpMkCreatBuf(CMDONERR, sz, r_vkres, r_vkbuf, v_vkbufcreatinfo, v_reterr, vkbufuseflags, vksharemode, vkdev, vkalloccalls)
#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 __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_AnnSlpCreatDescPool_imp(v_descpool, iv_slp, r_vkdescpool, r_reterr, i_vkdescpoolcreatflags, i_vkdesctype, i_vkdescpoolsz_count, i_vkmaxdescsets)
#define __ae2fVK_AnnSlpCreatDescPoolVerbose_imp(v_vkdescpoolcreatinfo, v_vkdescpoolsz, r_vkdescpool, r_reterr, r_vkres, i_vkdev, i_vkptrAlloc, i_vkdescpoolcreatflags, i_vkdesctype, i_vkdescpoolsz_count, i_vkmaxdescsets)
#define __ae2fVK_AnnSlpMk_imp(v_mk, weight_opt, bias_opt, cache_opt, inc, outc, prm_offset, extra, act, actderiv, lossderiv, learningrate, learningrate_bias, vkdev, vkmemprops, vkalloccalls, vkcldeclaration, vkcldefinition)
 Make slp with OpenCL compute shader.
#define __ae2fVK_AnnSlpMkCLSPVVerbose_imp(r_handle, ir_err, i_first, i_second, i_third)
#define __ae2fVK_AnnSlpMap_imp(r_err, slp, data)
#define __ae2fVK_AnnSlpMapRangedGeneric_imp(T, v_vkmapmemrange, iv_slp, r_err, r_ptr, i_off, i_sz)
#define __ae2fVK_AnnSlpUnMap_imp(slp)
#define __ae2fVK_AnnSlpUnMapRanged_imp(v_out, vi_slp, i_off, i_sz)
#define __ae2fVK_AnnSlpClean_imp(block)
#define __ae2fVK_AnnSlpWBUnMap_imp(v_out, vi_slp)
 Unmaps Weight and Bias.
#define __ae2fVK_AnnSlpWBMap(r_err, slp, ir_ptrweight, ir_ptrbias)
 Maps Weight and Bias.
#define __ae2fVK_AnnSlpIOUnMap_imp(v_out, vi_slp)
#define __ae2fVK_AnnSlpIOMap(r_err, slp, ir_ptrinp, ir_ptrout)
#define __ae2fVK_AnnSlpDeltaUnMap_imp(v_out, vi_slp)
#define __ae2fVK_AnnSlpDeltaMap(r_err, slp, ir_ptrdelta)
#define __ae2fVK_AnnSlpGoalUnMap_imp(v_out, vi_slp)
#define __ae2fVK_AnnSlpGoalMap(r_err, slp, ir_ptrgoal)
#define __ae2f_MACRO_GENERATED   0

Macro Definition Documentation

◆ __ae2f_MACRO_GENERATED [1/7]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file Slp.auto.h.

◆ __ae2f_MACRO_GENERATED [2/7]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file Slp.auto.h.

◆ __ae2f_MACRO_GENERATED [3/7]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file Slp.auto.h.

◆ __ae2f_MACRO_GENERATED [4/7]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file Slp.auto.h.

◆ __ae2f_MACRO_GENERATED [5/7]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file Slp.auto.h.

◆ __ae2f_MACRO_GENERATED [6/7]

#define __ae2f_MACRO_GENERATED   1

Definition at line 2 of file Slp.auto.h.

◆ __ae2f_MACRO_GENERATED [7/7]

#define __ae2f_MACRO_GENERATED   0

Definition at line 2 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpClean_imp

#define __ae2fVK_AnnSlpClean_imp ( block)

tparam param

Definition at line 941 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpCreatDescPool_imp

#define __ae2fVK_AnnSlpCreatDescPool_imp ( v_descpool,
iv_slp,
r_vkdescpool,
r_reterr,
i_vkdescpoolcreatflags,
i_vkdesctype,
i_vkdescpoolsz_count,
i_vkmaxdescsets )
Value:
{ \
__ae2fVK_AnnSlpCreatDescPoolVerbose_imp( \
(v_descpool).m_U0.m_vkdescpoolcreatinfo \
, (v_descpool).m_U0.m_vkdescpoolsz \
, (iv_slp).m_vkres \
, (iv_slp).m_vkdev \
, (iv_slp).m_vkalloccalls \
); \
}
VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks *const const VkDescriptorPoolCreateFlagBits const VkDescriptorType i_vkdesctype
VkDescriptorPoolSize VkDescriptorPool r_vkdescpool
VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks *const const VkDescriptorPoolCreateFlagBits i_vkdescpoolcreatflags
VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks *const const VkDescriptorPoolCreateFlagBits const VkDescriptorType const uint32_t i_vkdescpoolsz_count
VkPipelineLayoutCreateInfo ae2f_err_t r_reterr
ae2fVK_AnnSlp iv_slp
Definition Slp.def.cc:268
ae2fVK_AnnSlp VkDescriptorPool ae2f_err_t const VkDescriptorPoolCreateFlagBits const VkDescriptorType const uint32_t const uint32_t i_vkmaxdescsets
Definition Slp.def.cc:278

tparam param

Definition at line 292 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpCreatDescPoolVerbose_imp

#define __ae2fVK_AnnSlpCreatDescPoolVerbose_imp ( v_vkdescpoolcreatinfo,
v_vkdescpoolsz,
r_vkdescpool,
r_reterr,
r_vkres,
i_vkdev,
i_vkptrAlloc,
i_vkdescpoolcreatflags,
i_vkdesctype,
i_vkdescpoolsz_count,
i_vkmaxdescsets )
Value:
{ \
\
(v_vkdescpoolcreatinfo).sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; \
(v_vkdescpoolcreatinfo).flags = 0; \
(v_vkdescpoolcreatinfo).pNext = NULL; \
(v_vkdescpoolcreatinfo).flags = (i_vkdescpoolcreatflags); \
(v_vkdescpoolcreatinfo).poolSizeCount = 1; \
(v_vkdescpoolcreatinfo).pPoolSizes = &(v_vkdescpoolsz); \
(v_vkdescpoolcreatinfo).maxSets = (i_vkmaxdescsets); \
\
if(((r_vkres) = vkCreateDescriptorPool( \
(i_vkdev) \
, &(v_vkdescpoolcreatinfo) \
, &(r_vkdescpool) \
)) != VK_SUCCESS) \
{ \
assert(!"vkCreateDescriptorPool has failed."); \
} \
\
unless((r_vkdescpool)) { \
assert(!"vkCreateDescriptorPool went null."); \
} \
}
VkResult r_vkres
VkDescriptorPoolSize v_vkdescpoolsz
VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks *const i_vkptrAlloc
v_vkdescpoolcreatinfo pPoolSizes
v_vkdescpoolcreatinfo maxSets
v_vkdescpoolcreatinfo poolSizeCount
#define ae2f_errGlob_ALLOC_FAILED
stdlib allocating functions (malloc, calloc, realloc) has been failed.
Definition errGlob.h:40
v_mk m_U2 m_vkdescsetlayoutcreatinfo flags
Definition Mlp.def.cc:237
v_mk m_U1 m_vkdescsetlayoutbind[0] descriptorCount
Definition Mlp.def.cc:221
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
Definition Mlp.def.cc:68
v_mk m_U2 m_vkdescsetlayoutcreatinfo pNext
Definition Mlp.def.cc:233
v_mk m_U2 m_vkdescsetlayoutcreatinfo sType
Definition Mlp.def.cc:232

tparam param

Definition at line 322 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpDeltaMap

#define __ae2fVK_AnnSlpDeltaMap ( r_err,
slp,
ir_ptrdelta )
Value:
{ \
ae2f_err_t v_err = 0; \
\
if((slp) && (ir_ptrdelta)) { \
__ae2fVK_AnnSlpMapRangedGeneric_imp( \
, v_map \
, *(slp) \
, *(r_err) \
, *(ir_ptrdelta) \
, __ae2fVK_AnnSlpDeltaOff((slp)->m_slp.m_Slp[0].m_inc, (slp)->m_slp.m_Slp[0].m_outc) \
, __ae2fVK_AnnSlpDeltaSz((slp)->m_slp.m_Slp[0].m_inc, (slp)->m_slp.m_Slp[0].m_outc) \
); \
} else { \
assert(!"Got null pointer from slp"); \
} \
\
if((v_err)) { \
assert(!"__ae2fVK_AnnSlpMapRangedGeneric_imp has failed."); \
(r_err) && (*(r_err) |= (v_err)); \
} \
}
ae2f_float ae2f_float_t
Definition Float.h:38
VkMappedMemoryRange ae2fVK_AnnSlpMapRangedGeneric_t
Definition Slp.core.h:152
#define __ae2fVK_AnnSlpDeltaSz(i_inp, i_out)
Definition Slp.core.h:171
#define __ae2fVK_AnnSlpDeltaOff(i_inp, i_out)
Definition Slp.core.h:178
const ae2f_AnnSlp_t slp
Definition Mlp.def.cc:484
uint8_t ae2f_err_t
Informs that this number represents the error.
Definition errGlob.h:19
#define ae2f_errGlob_PTR_IS_NULL
Failed to refer the pointer either l-value inside the function.
Definition errGlob.h:32
ae2fVK_AnnMlp ae2f_err_t r_err
Definition Mlp.def.cc:586

tparam param

Definition at line 1218 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpDeltaUnMap_imp

#define __ae2fVK_AnnSlpDeltaUnMap_imp ( v_out,
vi_slp )
Value:
{ \
\
__ae2fVK_AnnSlpUnMapRanged_imp( \
v_out \
, vi_slp \
, __ae2fVK_AnnSlpDeltaOff((vi_slp).m_slp.m_Slp[0].m_inc, (vi_slp).m_slp.m_Slp[0].m_outc) \
, __ae2fVK_AnnSlpDeltaSz((vi_slp).m_slp.m_Slp[0].m_inc, (vi_slp).m_slp.m_Slp[0].m_outc) \
); \
}

tparam param

Definition at line 1200 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpGoalMap

#define __ae2fVK_AnnSlpGoalMap ( r_err,
slp,
ir_ptrgoal )
Value:
{ \
ae2f_err_t v_err = 0; \
\
if((slp) && (ir_ptrgoal)) { \
__ae2fVK_AnnSlpMapRangedGeneric_imp( \
, v_map \
, *(slp) \
, *(r_err) \
, (*ir_ptrgoal) \
, __ae2fVK_AnnSlpGoalOff((slp)->m_slp.m_Slp[0].m_inc, (slp)->m_slp.m_Slp[0].m_outc) \
, __ae2fVK_AnnSlpGoalSz((slp)->m_slp.m_Slp[0].m_inc, (slp)->m_slp.m_Slp[0].m_outc) \
); \
} else { \
assert(!"Got null pointer from slp"); \
} \
\
if(v_err) { \
assert(!"__ae2fVK_AnnSlpMapRangedGeneric_imp has failed."); \
(r_err) && (*(r_err) |= (v_err)); \
} \
}
#define __ae2fVK_AnnSlpGoalSz(i_inp, i_out)
Definition Slp.core.h:172
#define __ae2fVK_AnnSlpGoalOff(i_inp, i_out)
Definition Slp.core.h:179

tparam param

Definition at line 1269 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpGoalUnMap_imp

#define __ae2fVK_AnnSlpGoalUnMap_imp ( v_out,
vi_slp )
Value:
{ \
__ae2fVK_AnnSlpUnMapRanged_imp( \
v_out \
, vi_slp \
, __ae2fVK_AnnSlpGoalOff((vi_slp).m_slp.m_Slp[0].m_inc, (vi_slp).m_slp.m_Slp[0].m_outc) \
, __ae2fVK_AnnSlpGoalSz((vi_slp).m_slp.m_Slp[0].m_inc, (vi_slp).m_slp.m_Slp[0].m_outc) \
); \
}

tparam param

Definition at line 1252 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpIOMap

#define __ae2fVK_AnnSlpIOMap ( r_err,
slp,
ir_ptrinp,
ir_ptrout )

tparam param

Definition at line 1154 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpIOUnMap_imp

#define __ae2fVK_AnnSlpIOUnMap_imp ( v_out,
vi_slp )
Value:
{ \
\
__ae2fVK_AnnSlpUnMapRanged_imp( \
v_out \
, vi_slp \
, __ae2fVK_AnnSlpInpOff((vi_slp).m_slp.m_Slp[0].m_inc, (vi_slp).m_slp.m_Slp[0].m_outc) \
, __ae2fVK_AnnSlpInpSz((vi_slp).m_slp.m_Slp[0].m_inc, (vi_slp).m_slp.m_Slp[0].m_outc) \
+ __ae2fVK_AnnSlpOutSz((vi_slp).m_slp.m_Slp[0].m_inc, (vi_slp).m_slp.m_Slp[0].m_outc) \
); \
}
#define __ae2fVK_AnnSlpInpSz(i_inp,...)
Definition Slp.core.h:169
#define __ae2fVK_AnnSlpInpOff(i_inp, i_out)
Definition Slp.core.h:176
#define __ae2fVK_AnnSlpOutSz(i_inp, i_out)
Definition Slp.core.h:170

tparam param

Definition at line 1133 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpMap_imp

#define __ae2fVK_AnnSlpMap_imp ( r_err,
slp,
data )
Value:
{ \
if((slp).m_vkres != VK_SUCCESS) { \
assert(!"Result flag is not valid."); \
} \
\
assert((slp).m_vkdev); \
assert((slp).m_vkglobdevmem); \
assert(r_err == ae2f_errGlob_OK && "Previous status is bad."); \
\
do { \
if(((slp).m_vkres = vkMapMemory( \
, (slp).m_vkglobdevmem \
, 0, VK_WHOLE_SIZE \
, 0 \
, ae2f_reinterpret_cast(void** restrict, data) \
)) != VK_SUCCESS) \
{ \
assert(!"vkMapMemory has failed."); \
break; \
} \
\
unless(*(data)) { \
assert(!"vkMapMemory went null."); \
break; \
} \
} while(0); \
}
#define ae2f_reinterpret_cast(t, v)
Definition Cast.h:52
#define ae2f_errGlob_OK
The Operation you've wanted went successful.
Definition errGlob.h:23
v_mk m_U0 m_mkswap m_mkbase m_vkdev
Definition Mlp.def.cc:123
v_mk m_U0 m_mkswap m_mkbase m_vkres
Definition Mlp.def.cc:118

Map's usually for output tparam param

Definition at line 791 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpMapRangedGeneric_imp

#define __ae2fVK_AnnSlpMapRangedGeneric_imp ( T,
v_vkmapmemrange,
iv_slp,
r_err,
r_ptr,
i_off,
i_sz )

tparam param

Definition at line 834 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpMk_imp

Make slp with OpenCL compute shader.

The shader itself is incomplete.
For using it you will need to define three macros as function.
Below is the required snippet.

#define ACT(const ae2f_float_t) -> ae2f_float_t
#define ACT_DERIV(const ae2f_float_t) -> ae2f_float_t
#define LOSS_DERIV( ae2f_float_t* retval const ae2f_float_t* const out , const ae2f_float_t* const out_desired , const size_t index , const size_t length_out_goal );

Parameters
vkcldeclaration
vkcldefinitiontparam param

Definition at line 389 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpMkAllocVKMem_imp

◆ __ae2fVK_AnnSlpMkCLSPVVerbose_imp

#define __ae2fVK_AnnSlpMkCLSPVVerbose_imp ( r_handle,
ir_err,
i_first,
i_second,
i_third )
Value:
{ \
if(!((r_handle) = calloc( \
1 \
, strlen(i_first) + sizeof( \
) + strlen(i_third) \
))) \
{ \
assert(!"_ae2fVK_AnnSlpMkCLSPV_imp has failed."); \
} \
\
else { \
strcpy(ae2f_reinterpret_cast(char*, r_handle), i_first); \
strcat(ae2f_reinterpret_cast(char*, r_handle), i_second); \
strcat(ae2f_reinterpret_cast(char*, r_handle), i_third); \
} \
}
ae2f_err_t ir_err
ae2f_err_t const char *restrict i_first
ae2f_err_t const char *restrict const char *restrict i_second
Parameters
r_handlemust be destroyed by free().
i_second_rawmust be guaranteed to be a raw stirng. tparam param

Definition at line 760 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpMkCreatBuf

Value:
{ \
(v_vkbufcreatinfo).sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; \
\
if(((r_vkres) = vkCreateBuffer( \
, &(r_vkbuf) \
)) != VK_SUCCESS \
) \
{ \
assert(!"Failed vkCreateBuffer"); \
} \
\
unless((r_vkbuf)) { \
assert(!"vkCreateBuffer went null"); \
} \
}
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags const VkSharingMode vksharemode
v_vkbufcreatinfo pQueueFamilyIndices
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags vkbufuseflags
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags const VkSharingMode const VkDevice vkdev
VkResult VkBuffer VkBufferCreateInfo v_vkbufcreatinfo
v_vkbufcreatinfo sharingMode
v_vkbufcreatinfo queueFamilyIndexCount
v_vkbufcreatinfo usage
VkResult VkBuffer r_vkbuf
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags const VkSharingMode const VkDevice ae2f_opt const VkAllocationCallbacks * vkalloccalls
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t v_reterr
const ae2f_AnnMlp_t const ae2f_float_t *const ae2f_float_t *const const size_t *const sz
Definition Mlp.def.cc:321
#define CMDONERR
Definition Slp.auto.h:27
v_mk m_U1 m_vkpushconstrange size
Definition Mlp.def.cc:257

tparam param

Definition at line 66 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpMkFndMemProp_imp

#define __ae2fVK_AnnSlpMkFndMemProp_imp ( CMDONERR,
r_memtypeidx,
v_errbit,
memtypeidx_invalid_minus_one,
vkpropflag_req,
vkphydevmemprops )
Value:
{ \
\
assert(VK_MAX_MEMORY_TYPES <= memtypeidx_invalid_minus_one && "Invalid index does not do its thing."); \
assert((vkphydevmemprops).memoryTypeCount <= VK_MAX_MEMORY_TYPES && "Invalid memory type count."); \
\
for( \
(r_memtypeidx) = (vkphydevmemprops).memoryTypeCount; \
(r_memtypeidx)-- \
&& (~((vkphydevmemprops).memoryTypes[(r_memtypeidx)].propertyFlags) \
; \
); \
\
if((r_memtypeidx) == (memtypeidx_invalid_minus_one)) { \
assert(!"Wanted bit has not found is not supported"); \
} \
}
ae2f_err_t const unsigned char memtypeidx_invalid_minus_one
ae2f_err_t const unsigned char const VkMemoryPropertyFlagBits const VkPhysicalDeviceMemoryProperties vkphydevmemprops
ae2f_err_t const unsigned char const VkMemoryPropertyFlagBits vkpropflag_req
ae2f_err_t v_errbit
#define ae2f_errGlob_IMP_NOT_FOUND
Failed to find the function on preprocessor which is callable for some reason No operation has beed d...
Definition errGlob.h:28

tparam param

Definition at line 35 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpMkLoadPipeCreat_imp

#define __ae2fVK_AnnSlpMkLoadPipeCreat_imp ( CMDONERR,
r_reterr,
pipecreat,
pipelayout,
shadermod,
entrypoint,
idx_pipe,
idx_pipelayout )
Value:
{ \
memset( \
&(pipecreat)[(idx_pipe)], 0 \
, sizeof((pipecreat)[0]) \
); \
\
unless((pipelayout)[idx_pipelayout]) { \
assert(!"Pipelayout went null"); \
} \
\
(pipecreat)[idx_pipe].sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO; \
(pipecreat)[idx_pipe].pNext = NULL; \
(pipecreat)[idx_pipe].stage.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; \
(pipecreat)[idx_pipe].stage.stage = VK_SHADER_STAGE_COMPUTE_BIT; \
(pipecreat)[idx_pipe].stage.module = (shadermod); \
(pipecreat)[idx_pipe].stage.pSpecializationInfo = NULL; \
(pipecreat)[idx_pipe].stage.flags = 0; \
}
VkComputePipelineCreateInfo *const pipecreat
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule const char *const const ae2fVK_eAnnSlpPipes const ae2fVK_eAnnSlpPipeLayouts idx_pipelayout
VkComputePipelineCreateInfo *const VkPipelineLayout *const pipelayout
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule const char *const entrypoint
pipecreat[idx_pipe] stage stage
pipecreat[idx_pipe] basePipelineIndex
pipecreat[idx_pipe] basePipelineHandle
pipecreat[idx_pipe] layout
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule const char *const const ae2fVK_eAnnSlpPipes idx_pipe

tparam param

Definition at line 209 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp

#define __ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp ( CMDONERR,
v_vkpushconstrange,
v_vkpipelayoutcreatinfo,
r_reterr,
iv_slpptr,
idx,
szrequired,
vkalloccalls,
vkdev )
Value:
{ \
(v_vkpushconstrange).size \
= (szrequired); \
\
if((szrequired) & 0b11) { \
(v_vkpushconstrange).size \
= ((szrequired) + 4) \
} \
\
if(((iv_slpptr)->m_vkres = vkCreatePipelineLayout( \
, &(iv_slpptr)->m_vkpipelayout[idx] \
)) != VK_SUCCESS) \
{ \
assert(!"vkCreatePipelineLayout has failed."); \
} \
\
unless((iv_slpptr)->m_vkpipelayout[idx]) \
{ \
assert(!"vkCreatePipelineLayout went null"); \
} \
}
#define ae2f_static_cast(t, v)
Definition Cast.h:42
VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp *const iv_slpptr
VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp *const const ae2fVK_eAnnSlpPipeLayouts const uint32_t szrequired
VkPipelineLayoutCreateInfo v_vkpipelayoutcreatinfo
VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp *const const ae2fVK_eAnnSlpPipeLayouts idx
#define uint32_t

tparam param

Definition at line 248 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpUnMap_imp

#define __ae2fVK_AnnSlpUnMap_imp ( slp)
Value:
{ \
assert((slp).m_vkdev); \
assert((slp).m_vkglobdevmem); \
vkUnmapMemory((slp).m_vkdev, (slp).m_vkglobdevmem); \
}

tparam param

Definition at line 895 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpUnMapRanged_imp

#define __ae2fVK_AnnSlpUnMapRanged_imp ( v_out,
vi_slp,
i_off,
i_sz )
Value:
{ \
assert((vi_slp).m_vkres == VK_SUCCESS); \
\
(v_out).memory = (vi_slp).m_vkglobdevmem; \
(v_out).offset = (i_off); \
(v_out).pNext = NULL; \
(v_out).size = (i_sz); \
(v_out).sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE; \
\
do { \
if (((vi_slp).m_vkres = vkFlushMappedMemoryRanges( \
(vi_slp).m_vkdev \
, 1 \
, &(v_out) \
)) != VK_SUCCESS) \
{ \
assert(!"vkFlushMappedMemoryRanges has failed."); \
break; \
} \
\
__ae2fVK_AnnSlpUnMap_imp(vi_slp); \
} while(0); \
}
v_mk m_U1 m_vkpushconstrange offset
Definition Mlp.def.cc:256

tparam param

Definition at line 907 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpWBMap

#define __ae2fVK_AnnSlpWBMap ( r_err,
slp,
ir_ptrweight,
ir_ptrbias )

Maps Weight and Bias.

tparam param

Definition at line 1087 of file Slp.auto.h.

◆ __ae2fVK_AnnSlpWBUnMap_imp

#define __ae2fVK_AnnSlpWBUnMap_imp ( v_out,
vi_slp )
Value:
{ \
__ae2fVK_AnnSlpUnMapRanged_imp( \
v_out \
, vi_slp \
, __ae2fVK_AnnSlpWeightOff((vi_slp).m_slp.m_Slp[0].m_inc, (vi_slp).m_slp.m_Slp[0].m_outc) \
, (__ae2fVK_AnnSlpWeightSz((vi_slp).m_slp.m_Slp[0].m_inc, (vi_slp).m_slp.m_Slp[0].m_outc) \
+ __ae2fVK_AnnSlpBiasSz((vi_slp).m_slp.m_Slp[0].m_inc, (vi_slp).m_slp.m_Slp[0].m_outc)) \
\
); \
}
#define __ae2fVK_AnnSlpBiasSz(i_inp, i_out)
Definition Slp.core.h:168
#define __ae2fVK_AnnSlpWeightSz(i_inp, i_out)
Definition Slp.core.h:167
#define __ae2fVK_AnnSlpWeightOff(i_inp, i_out)
Definition Slp.core.h:174

Unmaps Weight and Bias.

tparam param

Definition at line 1067 of file Slp.auto.h.

◆ ae2fVK_Ann_Slp_c

#define ae2fVK_Ann_Slp_c

Definition at line 15 of file Slp.auto.h.

◆ CMDONERR

#define CMDONERR

Definition at line 27 of file Slp.auto.h.