ae2f_docs
Slp.def.cc File Reference
module shadermod
#include <ae2f/Macro.h>
#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 ae2fVK_Ann_Slp_c
#define CMDONERR
#define T   int

Functions

 ae2f_MAC (CMDONERR,) _ae2fVK_AnnSlpMkFndMemProp_imp(unsigned char r_memtypeidx
 assert ((vkphydevmemprops).memoryTypeCount<=VK_MAX_MEMORY_TYPES &&"Invalid memory type count.")
 for ((r_memtypeidx)=(vkphydevmemprops).memoryTypeCount;(r_memtypeidx) -- &&(~((vkphydevmemprops).memoryTypes[(r_memtypeidx)].propertyFlags) &vkpropflag_req) ;)
 if ((r_memtypeidx)==(memtypeidx_invalid_minus_one))
 if (((r_vkres)=vkCreateBuffer(vkdev, &(v_vkbufcreatinfo), vkalloccalls, &(r_vkbuf))) !=VK_SUCCESS)
 unless ((r_vkbuf))
 __ae2fVK_AnnSlpMkFndMemProp_imp (CMDONERR, v_memtypeidx, v_errbit, memtypeidx_invalid_minus_one, vkpropflag_req, vkphydevmemprops)
 vkGetBufferMemoryRequirements (vkdev, r_vkbuf, &(v_vkmemreq))
 unless ((v_vkmemreq).size >=(v_vkbufcreatinfo).size)
 unless ((v_vkmemreq).size<=(vkphydevmemprops).memoryHeaps[(vkphydevmemprops).memoryTypes[v_memtypeidx].heapIndex].size)
 if (((r_vkres)=vkAllocateMemory(vkdev, &(v_memallocinfo),(vkalloccalls), &(r_vkdevmem))) !=VK_SUCCESS)
 unless ((r_vkdevmem))
 if (((r_vkres)=vkBindBufferMemory(vkdev, r_vkbuf, r_vkdevmem, 0)) !=VK_SUCCESS)
 unless ((pipelayout)[idx_pipelayout])
 if ((szrequired) &0b11)
 if (((iv_slpptr) ->m_vkres=vkCreatePipelineLayout(vkdev, &(v_vkpipelayoutcreatinfo),(vkalloccalls), &(iv_slpptr) ->m_vkpipelayout[idx])) !=VK_SUCCESS)
 unless ((iv_slpptr) ->m_vkpipelayout[idx])
 ae2f_MAC () _ae2fVK_AnnSlpMk_imp(ae2fVK_AnnSlpMk_t v_mk
 Make slp with OpenCL compute shader.
 if (((r_vkres)=vkCreateDescriptorPool((i_vkdev), &(v_vkdescpoolcreatinfo),(i_vkptrAlloc), &(r_vkdescpool))) !=VK_SUCCESS)
 unless ((r_vkdescpool))
 assert ((lossderiv) &&"lossderiv must be specified.")
 if ((v_mk).m_U0.m_base.m_ptr->m_Slp[0].m_inc > UINT32_MAX)
 __ae2fVK_AnnSlpMkAllocVKMem_imp (break;, __ae2fVK_AnnSlpGlobSz(inc, outc),(v_mk).m_U0.m_alter.m_ptr->m_vkres,(v_mk).m_U0.m_alter.m_ptr->m_vkglobbuf,(v_mk).m_U0.m_alter.m_ptr->m_vkglobdevmem,(v_mk).m_reterr,(v_mk).m_U1.m_vkbufcreatinfo,(v_mk).m_U1.m_vkmemallocinfo, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VK_SHARING_MODE_EXCLUSIVE,(vkdev),(v_mk).m_U2.m_vkmemreqs,(vkalloccalls),(v_mk).m_U0.m_alter.m_i, UCHAR_MAX, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, vkmemprops)
 __ae2fVK_AnnSlpMkAllocVKMem_imp (break;, sizeof(ae2f_float_t) *((outc)),(v_mk).m_U0.m_alter.m_ptr->m_vkres,(v_mk).m_U0.m_alter.m_ptr->m_vklocbuf,(v_mk).m_U0.m_alter.m_ptr->m_vklocdevmem,(v_mk).m_reterr,(v_mk).m_U1.m_vkbufcreatinfo,(v_mk).m_U1.m_vkmemallocinfo, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VK_SHARING_MODE_EXCLUSIVE,(vkdev),(v_mk).m_U2.m_vkmemreqs,(vkalloccalls),(v_mk).m_U0.m_alter.m_i, UCHAR_MAX, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, vkmemprops)
 if (((v_mk).m_U0.m_alter.m_ptr->m_vkres=vkCreateDescriptorSetLayout(vkdev, &(v_mk).m_U1.m_vkdescsetlayoutcreatinfo,(vkalloccalls), &(v_mk).m_U0.m_alter.m_ptr->m_vkdescsetlayout[ae2fVK_eAnnSlpDescLayouts_kPredict])) !=VK_SUCCESS)
 unless ((v_mk).m_U0.m_alter.m_ptr->m_vkdescsetlayout[0])
 if (((v_mk).m_U0.m_alter.m_ptr->m_vkres=vkCreateDescriptorSetLayout(vkdev, &(v_mk).m_U1.m_vkdescsetlayoutcreatinfo,(vkalloccalls), &(v_mk).m_U0.m_alter.m_ptr->m_vkdescsetlayout[ae2fVK_eAnnSlpDescLayouts_kTrain])) !=VK_SUCCESS)
 unless ((v_mk).m_U0.m_alter.m_ptr->m_vkdescsetlayout[1])
 __ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp (break,(v_mk).m_U1.m_vkpushconstrange,(v_mk).m_U2.m_vkpipelayoutcreatinfo,(v_mk).m_reterr,(v_mk).m_U0.m_alter.m_ptr, ae2fVK_eAnnSlpPipeLayouts_kPredict, sizeof(size_t), vkalloccalls, vkdev)
 if ((v_mk).m_U0.m_alter.m_ptr->m_vkres !=VK_SUCCESS)
 __ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp (break,(v_mk).m_U1.m_vkpushconstrange,(v_mk).m_U2.m_vkpipelayoutcreatinfo,(v_mk).m_reterr,(v_mk).m_U0.m_alter.m_ptr, ae2fVK_eAnnSlpPipeLayouts_kTrain, sizeof(ae2f_float_t) *2, vkalloccalls, vkdev)
 assert ((vkcldeclaration) &&"vkcldeclaration is null")
 assert ((vkcldefinition) &&"vkcldefinition is null")
 if ((v_mk).m_reterr)
 assert ((v_mk).m_U3.m_openclsrc)
 assert ((v_mk).m_U0.m_alter.m_ptr)
 switch (clspvCompileFromSourcesString(1, ae2f_reinterpret_cast(const size_t *, NULL), ae2f_const_cast(const char **restrict,(&(v_mk).m_U3.m_openclsrc)),"" "-pod-pushconstant " "-cl-fast-relaxed-math " "-cl-single-precision-constant", &(v_mk).m_U1.m_spirv_c, &(v_mk).m_U0.m_spirv_len, &(v_mk).m_U2.m_log))
 free ((v_mk).m_U3.m_openclsrc)
 free ((v_mk).m_U2.m_log)
 assert ((v_mk).m_U0.m_base.m_ptr &&"clspvCompileFromSourcesString has done something weird")
 if (((v_mk).m_U0.m_alter.m_ptr->m_vkres=vkCreateShaderModule(vkdev, &(v_mk).m_U2.m_vkshadermodcreatinfo,(vkalloccalls), &(v_mk).m_U0.m_alter.m_ptr->m_vkshadermodule)) !=VK_SUCCESS)
 unless ((v_mk).m_U0.m_alter.m_ptr->m_vkshadermodule)
 free ((v_mk).m_U1.m_spirv)
 __ae2fVK_AnnSlpMkLoadPipeCreat_imp (break,(v_mk).m_reterr,(v_mk).m_U2.m_vkcomputepipecreatinfo,(v_mk).m_U0.m_alter.m_ptr->m_vkpipelayout,(v_mk).m_U0.m_alter.m_ptr->m_vkshadermodule, "kFollow",(ae2fVK_eAnnSlpPipes_kFollow),(ae2fVK_eAnnSlpPipeLayouts_kTrain))
 __ae2fVK_AnnSlpMkLoadPipeCreat_imp (break,(v_mk).m_reterr,(v_mk).m_U2.m_vkcomputepipecreatinfo,(v_mk).m_U0.m_alter.m_ptr->m_vkpipelayout,(v_mk).m_U0.m_alter.m_ptr->m_vkshadermodule, "kFit",(ae2fVK_eAnnSlpPipes_kFit),(ae2fVK_eAnnSlpPipeLayouts_kTrain))
 __ae2fVK_AnnSlpMkLoadPipeCreat_imp (break,(v_mk).m_reterr,(v_mk).m_U2.m_vkcomputepipecreatinfo,(v_mk).m_U0.m_alter.m_ptr->m_vkpipelayout,(v_mk).m_U0.m_alter.m_ptr->m_vkshadermodule, "kPredict", ae2fVK_eAnnSlpPipes_kPredict, ae2fVK_eAnnSlpPipeLayouts_kPredict)
 __ae2fVK_AnnSlpMkLoadPipeCreat_imp (break,(v_mk).m_reterr,(v_mk).m_U2.m_vkcomputepipecreatinfo,(v_mk).m_U0.m_alter.m_ptr->m_vkpipelayout,(v_mk).m_U0.m_alter.m_ptr->m_vkshadermodule, "kTrain",(ae2fVK_eAnnSlpPipes_kTrain),(ae2fVK_eAnnSlpPipeLayouts_kTrain))
 if (((v_mk).m_U0.m_alter.m_ptr->m_vkres=vkCreateComputePipelines((vkdev), VK_NULL_HANDLE, ae2fVK_eAnnSlpPipes_LEN,(v_mk).m_U2.m_vkcomputepipecreatinfo,(vkalloccalls),(v_mk).m_U0.m_alter.m_ptr->m_vkpipeline)) !=VK_SUCCESS)
 while (0)
 assert ((v_mk).m_reterr==ae2f_errGlob_OK &&"Returned error flag has set up")
 if ((v_mk).m_U0.m_alter.m_ptr->m_vkres)

Variables

ae2f_err_t v_errbit
ae2f_err_t const unsigned char memtypeidx_invalid_minus_one
ae2f_err_t const unsigned char const VkMemoryPropertyFlagBits vkpropflag_req
ae2f_err_t const unsigned char const VkMemoryPropertyFlagBits const VkPhysicalDeviceMemoryProperties vkphydevmemprops
VkResult r_vkres
VkResult VkBuffer r_vkbuf
VkResult VkBuffer VkBufferCreateInfo v_vkbufcreatinfo
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t v_reterr
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags vkbufuseflags
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags const VkSharingMode vksharemode
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags const VkSharingMode const VkDevice vkdev
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags const VkSharingMode const VkDevice ae2f_opt const VkAllocationCallbacks * vkalloccalls
v_vkbufcreatinfo pNext = 0
v_vkbufcreatinfo usage = (vkbufuseflags)
v_vkbufcreatinfo pQueueFamilyIndices = 0
v_vkbufcreatinfo queueFamilyIndexCount = 0
v_vkbufcreatinfo sharingMode = vksharemode
v_vkbufcreatinfo flags = 0
v_vkbufcreatinfo size = (sz)
VkResult VkBuffer VkDeviceMemory r_vkdevmem
VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo v_memallocinfo
VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo const VkBufferUsageFlags const VkSharingMode const VkDevice VkMemoryRequirements v_vkmemreq
VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo const VkBufferUsageFlags const VkSharingMode const VkDevice VkMemoryRequirements ae2f_opt const VkAllocationCallbacks unsigned char v_memtypeidx
v_memallocinfo sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO
v_memallocinfo allocationSize = (v_vkmemreq).size
v_memallocinfo memoryTypeIndex = (v_memtypeidx)
VkComputePipelineCreateInfo *const pipecreat
VkComputePipelineCreateInfo *const VkPipelineLayout *const pipelayout
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule shadermod
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule const char *const entrypoint
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule const char *const const ae2fVK_eAnnSlpPipes idx_pipe
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule const char *const const ae2fVK_eAnnSlpPipes const ae2fVK_eAnnSlpPipeLayouts idx_pipelayout
pipecreat[idx_pipelayout = ((pipelayout)[idx_pipelayout])
pipecreat[idx_pipebasePipelineHandle = NULL
pipecreat[idx_pipebasePipelineIndex = -1
pipecreat[idx_pipe] stage stage = VK_SHADER_STAGE_COMPUTE_BIT
pipecreat[idx_pipe] stage pName = entrypoint
pipecreat[idx_pipe] stage pSpecializationInfo = NULL
VkPipelineLayoutCreateInfo v_vkpipelayoutcreatinfo
VkPipelineLayoutCreateInfo ae2f_err_t r_reterr
VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp *const iv_slpptr
VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp *const const ae2fVK_eAnnSlpPipeLayouts idx
VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp *const const ae2fVK_eAnnSlpPipeLayouts const uint32_t szrequired
ae2fVK_AnnSlp iv_slp
ae2fVK_AnnSlp VkDescriptorPool r_vkdescpool
ae2fVK_AnnSlp VkDescriptorPool ae2f_err_t const VkDescriptorPoolCreateFlagBits i_vkdescpoolcreatflags
ae2fVK_AnnSlp VkDescriptorPool ae2f_err_t const VkDescriptorPoolCreateFlagBits const VkDescriptorType i_vkdesctype
ae2fVK_AnnSlp VkDescriptorPool ae2f_err_t const VkDescriptorPoolCreateFlagBits const VkDescriptorType const uint32_t i_vkdescpoolsz_count
ae2fVK_AnnSlp VkDescriptorPool ae2f_err_t const VkDescriptorPoolCreateFlagBits const VkDescriptorType const uint32_t const uint32_t i_vkmaxdescsets
VkDescriptorPoolSize v_vkdescpoolsz
VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice i_vkdev
VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks *const i_vkptrAlloc
v_vkdescpoolsz descriptorCount = (i_vkdescpoolsz_count)
v_vkdescpoolcreatinfo poolSizeCount = 1
v_vkdescpoolcreatinfo pPoolSizes = &(v_vkdescpoolsz)
v_vkdescpoolcreatinfo maxSets = (i_vkmaxdescsets)
ae2f_float_t *const weight_opt
ae2f_float_t *const ae2f_float_t *const bias_opt
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const cache_opt
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t inc
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t outc
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t prm_offset
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t extra
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t *const act
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t *const ae2f_opt ae2f_AnnAct_t *const actderiv
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 lossderiv
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 learningrate
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 learningrate_bias
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 vkmemprops
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 vkcldeclaration
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 vkcldefinition
v_mk m_reterr = ae2f_errGlob_OK
 do
v_mk m_U0 m_alter m_ptr m_vkdev = vkdev
v_mk m_U0 m_alter m_ptr m_vkalloccalls = vkalloccalls
v_mk m_U2 m_S0 m_glob binding = 0
v_mk m_U2 m_S0 m_glob descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
v_mk m_U2 m_S0 m_glob stageFlags = VK_SHADER_STAGE_COMPUTE_BIT
v_mk m_U2 m_S0 m_glob pImmutableSamplers = NULL
v_mk m_U2 m_S0 m_loc = (v_mk).m_U2.m_S0.m_glob
v_mk m_U1 m_vkdescsetlayoutcreatinfo pBindings = (v_mk).m_U2.m_vkdescsetlayoutbind
v_mk m_U1 m_vkdescsetlayoutcreatinfo bindingCount = 1
v_mk m_U1 m_vkpushconstrange offset = 0
v_mk m_U2 m_vkpipelayoutcreatinfo setLayoutCount = 1
v_mk m_U2 m_vkpipelayoutcreatinfo pushConstantRangeCount = 1
v_mk m_U2 m_vkpipelayoutcreatinfo pPushConstantRanges = &(v_mk).m_U1.m_vkpushconstrange
v_mk m_U2 m_vkpipelayoutcreatinfo pSetLayouts = (v_mk).m_U0.m_alter.m_ptr->m_vkdescsetlayout
v_mk m_U2 m_log = ae2f_static_cast(char*, NULL)
v_mk m_U1 m_spirv = NULL
v_mk m_U0 m_spirv_len = 0
v_mk m_U2 m_vkshadermodcreatinfo codeSize = (v_mk).m_U0.m_spirv_len
v_mk m_U2 m_vkshadermodcreatinfo pCode = (v_mk).m_U1.m_spirv_u32
ae2f_err_t ir_err
ae2f_err_t const char *restrict i_first
ae2f_err_t const char *restrict const char *restrict i_second

Macro Definition Documentation

◆ ae2fVK_Ann_Slp_c

#define ae2fVK_Ann_Slp_c

Definition at line 9 of file Slp.def.cc.

◆ CMDONERR

#define CMDONERR

Definition at line 15 of file Slp.def.cc.

◆ T

#define T   int

Function Documentation

◆ __ae2fVK_AnnSlpMkAllocVKMem_imp() [1/2]

__ae2fVK_AnnSlpMkAllocVKMem_imp ( break; ,
__ae2fVK_AnnSlpGlobSz(inc, outc) ,
(v_mk).m_U0.m_alter.m_ptr-> m_vkres,
(v_mk).m_U0.m_alter.m_ptr-> m_vkglobbuf,
(v_mk).m_U0.m_alter.m_ptr-> m_vkglobdevmem,
(v_mk). m_reterr,
(v_mk).m_U1. m_vkbufcreatinfo,
(v_mk).m_U1. m_vkmemallocinfo,
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT ,
VK_SHARING_MODE_EXCLUSIVE ,
(vkdev) ,
(v_mk).m_U2. m_vkmemreqs,
(vkalloccalls) ,
(v_mk).m_U0.m_alter. m_i,
UCHAR_MAX ,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT ,
vkmemprops  )

Allocate the global memory

◆ __ae2fVK_AnnSlpMkAllocVKMem_imp() [2/2]

__ae2fVK_AnnSlpMkAllocVKMem_imp ( break; ,
sizeof(ae2f_float_t) *((outc)) ,
(v_mk).m_U0.m_alter.m_ptr-> m_vkres,
(v_mk).m_U0.m_alter.m_ptr-> m_vklocbuf,
(v_mk).m_U0.m_alter.m_ptr-> m_vklocdevmem,
(v_mk). m_reterr,
(v_mk).m_U1. m_vkbufcreatinfo,
(v_mk).m_U1. m_vkmemallocinfo,
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT ,
VK_SHARING_MODE_EXCLUSIVE ,
(vkdev) ,
(v_mk).m_U2. m_vkmemreqs,
(vkalloccalls) ,
(v_mk).m_U0.m_alter. m_i,
UCHAR_MAX ,
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT ,
vkmemprops  )

the local memory

◆ __ae2fVK_AnnSlpMkFndMemProp_imp()

◆ __ae2fVK_AnnSlpMkLoadPipeCreat_imp() [1/4]

__ae2fVK_AnnSlpMkLoadPipeCreat_imp ( break ,
(v_mk). m_reterr,
(v_mk).m_U2. m_vkcomputepipecreatinfo,
(v_mk).m_U0.m_alter.m_ptr-> m_vkpipelayout,
(v_mk).m_U0.m_alter.m_ptr-> m_vkshadermodule,
"kFit" ,
(ae2fVK_eAnnSlpPipes_kFit) ,
(ae2fVK_eAnnSlpPipeLayouts_kTrain)  )

◆ __ae2fVK_AnnSlpMkLoadPipeCreat_imp() [2/4]

__ae2fVK_AnnSlpMkLoadPipeCreat_imp ( break ,
(v_mk). m_reterr,
(v_mk).m_U2. m_vkcomputepipecreatinfo,
(v_mk).m_U0.m_alter.m_ptr-> m_vkpipelayout,
(v_mk).m_U0.m_alter.m_ptr-> m_vkshadermodule,
"kFollow" ,
(ae2fVK_eAnnSlpPipes_kFollow) ,
(ae2fVK_eAnnSlpPipeLayouts_kTrain)  )

◆ __ae2fVK_AnnSlpMkLoadPipeCreat_imp() [3/4]

__ae2fVK_AnnSlpMkLoadPipeCreat_imp ( break ,
(v_mk). m_reterr,
(v_mk).m_U2. m_vkcomputepipecreatinfo,
(v_mk).m_U0.m_alter.m_ptr-> m_vkpipelayout,
(v_mk).m_U0.m_alter.m_ptr-> m_vkshadermodule,
"kPredict" ,
ae2fVK_eAnnSlpPipes_kPredict ,
ae2fVK_eAnnSlpPipeLayouts_kPredict  )

◆ __ae2fVK_AnnSlpMkLoadPipeCreat_imp() [4/4]

__ae2fVK_AnnSlpMkLoadPipeCreat_imp ( break ,
(v_mk). m_reterr,
(v_mk).m_U2. m_vkcomputepipecreatinfo,
(v_mk).m_U0.m_alter.m_ptr-> m_vkpipelayout,
(v_mk).m_U0.m_alter.m_ptr-> m_vkshadermodule,
"kTrain" ,
(ae2fVK_eAnnSlpPipes_kTrain) ,
(ae2fVK_eAnnSlpPipeLayouts_kTrain)  )

◆ __ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp() [1/2]

__ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp ( break ,
(v_mk).m_U1. m_vkpushconstrange,
(v_mk).m_U2. m_vkpipelayoutcreatinfo,
(v_mk). m_reterr,
(v_mk).m_U0.m_alter. m_ptr,
ae2fVK_eAnnSlpPipeLayouts_kPredict ,
sizeof(size_t) ,
vkalloccalls ,
vkdev  )

◆ __ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp() [2/2]

__ae2fVK_AnnSlpMkOnePipeLayoutVerbose_imp ( break ,
(v_mk).m_U1. m_vkpushconstrange,
(v_mk).m_U2. m_vkpipelayoutcreatinfo,
(v_mk). m_reterr,
(v_mk).m_U0.m_alter. m_ptr,
ae2fVK_eAnnSlpPipeLayouts_kTrain ,
sizeof(ae2f_float_t) * 2,
vkalloccalls ,
vkdev  )

◆ ae2f_MAC() [1/2]

ae2f_MAC ( )

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
vkcldefinition
r_handlemust be destroyed by free().
i_second_rawmust be guaranteed to be a raw stirng.

◆ ae2f_MAC() [2/2]

ae2f_MAC ( CMDONERR )

◆ assert() [1/8]

assert ( (lossderiv) &&"lossderiv must be specified." )

◆ assert() [2/8]

assert ( (v_mk). m_reterr = =ae2f_errGlob_OK &&"Returned error flag has set up")

◆ assert() [3/8]

assert ( (v_mk).m_U0.m_alter. m_ptr)

◆ assert() [4/8]

assert ( (v_mk).m_U0.m_base.m_ptr &&"clspvCompileFromSourcesString has done something weird" )

◆ assert() [5/8]

assert ( (v_mk).m_U3. m_openclsrc)

◆ assert() [6/8]

assert ( (vkcldeclaration) &&"vkcldeclaration is null" )

◆ assert() [7/8]

assert ( (vkcldefinition) &&"vkcldefinition is null" )

◆ assert() [8/8]

assert ( (vkphydevmemprops).memoryTypeCount<=VK_MAX_MEMORY_TYPES &&"Invalid memory type count." )

◆ for()

for ( (r_memtypeidx) = (vkphydevmemprops).memoryTypeCount;(r_memtypeidx) -- &&(~((vkphydevmemprops).memoryTypes[(r_memtypeidx)].propertyFlags) &vkpropflag_req) ;)

◆ free() [1/3]

free ( (v_mk).m_U1. m_spirv)

◆ free() [2/3]

free ( (v_mk).m_U2. m_log)

◆ free() [3/3]

free ( (v_mk).m_U3. m_openclsrc)

◆ if() [1/15]

if ( ((iv_slpptr) ->m_vkres=vkCreatePipelineLayout(vkdev, &(v_vkpipelayoutcreatinfo),(vkalloccalls), &(iv_slpptr) ->m_vkpipelayout[idx])) ! = VK_SUCCESS)

Definition at line 246 of file Slp.def.cc.

◆ if() [2/15]

if ( ((r_vkres)=vkAllocateMemory(vkdev, &(v_memallocinfo),(vkalloccalls), &(r_vkdevmem))) ! = VK_SUCCESS)

Definition at line 161 of file Slp.def.cc.

◆ if() [3/15]

if ( ((r_vkres)=vkBindBufferMemory(vkdev, r_vkbuf, r_vkdevmem, 0)) ! = VK_SUCCESS)

Definition at line 178 of file Slp.def.cc.

◆ if() [4/15]

if ( ((r_vkres)=vkCreateBuffer(vkdev, &(v_vkbufcreatinfo), vkalloccalls, &(r_vkbuf))) ! = VK_SUCCESS)

Definition at line 71 of file Slp.def.cc.

◆ if() [5/15]

if ( ((r_vkres)=vkCreateDescriptorPool((i_vkdev), &(v_vkdescpoolcreatinfo),(i_vkptrAlloc), &(r_vkdescpool))) ! = VK_SUCCESS)

Definition at line 321 of file Slp.def.cc.

◆ if() [6/15]

if ( ((v_mk).m_U0.m_alter.m_ptr->m_vkres=vkCreateComputePipelines((vkdev), VK_NULL_HANDLE, ae2fVK_eAnnSlpPipes_LEN,(v_mk).m_U2.m_vkcomputepipecreatinfo,(vkalloccalls),(v_mk).m_U0.m_alter.m_ptr->m_vkpipeline)) ! = VK_SUCCESS)

Definition at line 714 of file Slp.def.cc.

◆ if() [7/15]

if ( ((v_mk).m_U0.m_alter.m_ptr->m_vkres=vkCreateDescriptorSetLayout(vkdev, &(v_mk).m_U1.m_vkdescsetlayoutcreatinfo,(vkalloccalls), &(v_mk).m_U0.m_alter.m_ptr->m_vkdescsetlayout[ae2fVK_eAnnSlpDescLayouts_kPredict])) ! = VK_SUCCESS)

Definition at line 476 of file Slp.def.cc.

◆ if() [8/15]

if ( ((v_mk).m_U0.m_alter.m_ptr->m_vkres=vkCreateDescriptorSetLayout(vkdev, &(v_mk).m_U1.m_vkdescsetlayoutcreatinfo,(vkalloccalls), &(v_mk).m_U0.m_alter.m_ptr->m_vkdescsetlayout[ae2fVK_eAnnSlpDescLayouts_kTrain])) ! = VK_SUCCESS)

Definition at line 495 of file Slp.def.cc.

◆ if() [9/15]

if ( ((v_mk).m_U0.m_alter.m_ptr->m_vkres=vkCreateShaderModule(vkdev, &(v_mk).m_U2.m_vkshadermodcreatinfo,(vkalloccalls), &(v_mk).m_U0.m_alter.m_ptr->m_vkshadermodule)) ! = VK_SUCCESS)

Definition at line 650 of file Slp.def.cc.

◆ if() [10/15]

if ( (r_memtypeidx) = = (memtypeidx_invalid_minus_one))

Definition at line 41 of file Slp.def.cc.

◆ if() [11/15]

if ( (szrequired) & 0b11)

Definition at line 240 of file Slp.def.cc.

◆ if() [12/15]

if ( (v_mk). m_reterr)

Definition at line 586 of file Slp.def.cc.

◆ if() [13/15]

if ( (v_mk).m_U0.m_alter.m_ptr->m_vkres ! = VK_SUCCESS)

Definition at line 536 of file Slp.def.cc.

◆ if() [14/15]

if ( (v_mk).m_U0.m_alter.m_ptr-> m_vkres)

Definition at line 732 of file Slp.def.cc.

◆ if() [15/15]

if ( (v_mk).m_U0.m_base.m_ptr->m_Slp. m_inc[0],
UINT32_MAX  )

Definition at line 398 of file Slp.def.cc.

◆ switch()

switch ( clspvCompileFromSourcesString( 1, ae2f_reinterpret_cast(const size_t *, NULL), ae2f_const_cast( const char **restrict,(&(v_mk).m_U3.m_openclsrc)),"" "-pod-pushconstant " "-cl-fast-relaxed-math " "-cl-single-precision-constant", &(v_mk).m_U1.m_spirv_c, &(v_mk).m_U0.m_spirv_len, &(v_mk).m_U2.m_log) )

Definition at line 599 of file Slp.def.cc.

◆ unless() [1/10]

unless ( (iv_slpptr) -> m_vkpipelayout[idx])

Definition at line 257 of file Slp.def.cc.

◆ unless() [2/10]

unless ( (pipelayout) [idx_pipelayout])

Definition at line 205 of file Slp.def.cc.

◆ unless() [3/10]

unless ( (r_vkbuf) )

Definition at line 83 of file Slp.def.cc.

◆ unless() [4/10]

unless ( (r_vkdescpool) )

Definition at line 331 of file Slp.def.cc.

◆ unless() [5/10]

unless ( (r_vkdevmem) )

Definition at line 172 of file Slp.def.cc.

◆ unless() [6/10]

unless ( (v_mk).m_U0.m_alter.m_ptr-> m_vkdescsetlayout[0])

Definition at line 487 of file Slp.def.cc.

◆ unless() [7/10]

unless ( (v_mk).m_U0.m_alter.m_ptr-> m_vkdescsetlayout[1])

Definition at line 506 of file Slp.def.cc.

◆ unless() [8/10]

unless ( (v_mk).m_U0.m_alter.m_ptr-> m_vkshadermodule)

Definition at line 661 of file Slp.def.cc.

◆ unless() [9/10]

unless ( (v_vkmemreq).size >=(v_vkbufcreatinfo). size)

Definition at line 142 of file Slp.def.cc.

◆ unless() [10/10]

unless ( (v_vkmemreq).size<=(vkphydevmemprops).memoryHeaps.heapIndex]. size[(vkphydevmemprops).memoryTypes[v_memtypeidx])

Definition at line 148 of file Slp.def.cc.

◆ vkGetBufferMemoryRequirements()

vkGetBufferMemoryRequirements ( vkdev ,
r_vkbuf ,
& v_vkmemreq )

◆ while()

while ( 0 )

Variable Documentation

◆ act

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t* const act

Definition at line 368 of file Slp.def.cc.

◆ actderiv

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t* const ae2f_opt ae2f_AnnAct_t* const actderiv

Definition at line 369 of file Slp.def.cc.

◆ allocationSize

v_memallocinfo allocationSize = (v_vkmemreq).size

Definition at line 157 of file Slp.def.cc.

◆ basePipelineHandle

pipecreat [idx_pipe] basePipelineHandle = NULL

Definition at line 214 of file Slp.def.cc.

◆ basePipelineIndex

pipecreat [idx_pipe] basePipelineIndex = -1

Definition at line 215 of file Slp.def.cc.

◆ bias_opt

ae2f_float_t* const ae2f_float_t* const bias_opt

Definition at line 362 of file Slp.def.cc.

◆ binding

v_mk m_U2 m_S0 m_loc binding = 0

Definition at line 455 of file Slp.def.cc.

◆ bindingCount

v_mk m_U1 m_vkdescsetlayoutcreatinfo bindingCount = 1

Definition at line 470 of file Slp.def.cc.

◆ cache_opt

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const cache_opt

Definition at line 363 of file Slp.def.cc.

◆ codeSize

v_mk m_U2 m_vkshadermodcreatinfo codeSize = (v_mk).m_U0.m_spirv_len

Definition at line 642 of file Slp.def.cc.

◆ descriptorCount

v_mk m_U2 m_S0 m_glob descriptorCount = (i_vkdescpoolsz_count)

Definition at line 311 of file Slp.def.cc.

◆ descriptorType

v_mk m_U2 m_S0 m_glob descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER

Definition at line 457 of file Slp.def.cc.

◆ do

do
Initial value:
{
(v_mk).m_U0.m_base, (weight_opt)
, (inc), (outc)
, ((prm_offset) + sizeof(ae2fVK_AnnSlp) - sizeof(ae2f_AnnSlp))
, (extra)
)
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 learningrate_bias
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t extra
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t *const ae2f_opt ae2f_AnnAct_t *const actderiv
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t prm_offset
ae2f_float_t *const ae2f_float_t *const bias_opt
ae2f_float_t *const weight_opt
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 lossderiv
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const cache_opt
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t 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 learningrate
ae2f_float_t *const ae2f_float_t *const ae2f_float_t *const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t ae2f_opt ae2f_AnnAct_t *const act
ae2f_SHAREDEXPORT void outc
Definition Slp.imp.c:22
ae2f_SHAREDEXPORT void inc
Definition Slp.imp.c:21
#define __ae2f_AnnSlpMk_imp(...)
Definition Slp.auto.h:232

Definition at line 387 of file Slp.def.cc.

◆ entrypoint

VkComputePipelineCreateInfo* const VkPipelineLayout* const const VkShaderModule const char* const entrypoint

Definition at line 195 of file Slp.def.cc.

◆ extra

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const const uint32_t const uint32_t ae2f_opt const size_t ae2f_opt const size_t extra

Definition at line 367 of file Slp.def.cc.

◆ flags

v_mk m_U2 m_vkshadermodcreatinfo flags = 0

Definition at line 68 of file Slp.def.cc.

◆ i_first

ae2f_err_t const char* restrict i_first

Definition at line 746 of file Slp.def.cc.

◆ i_second

ae2f_err_t const char* restrict const char* restrict i_second

Definition at line 747 of file Slp.def.cc.

◆ i_vkdescpoolcreatflags

VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks* const const VkDescriptorPoolCreateFlagBits i_vkdescpoolcreatflags

Definition at line 273 of file Slp.def.cc.

◆ i_vkdescpoolsz_count

VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks* const const VkDescriptorPoolCreateFlagBits const VkDescriptorType const uint32_t i_vkdescpoolsz_count

Definition at line 275 of file Slp.def.cc.

◆ i_vkdesctype

VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks* const const VkDescriptorPoolCreateFlagBits const VkDescriptorType i_vkdesctype

Definition at line 274 of file Slp.def.cc.

◆ i_vkdev

VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice i_vkdev

Definition at line 302 of file Slp.def.cc.

◆ i_vkmaxdescsets

ae2fVK_AnnSlpDescPool ae2f_err_t ae2fVK_AnnSlp const VkDescriptorPoolCreateFlagBits const uint32_t i_vkmaxdescsets
Initial value:
{
(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
#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)
Definition Slp.auto.h:322
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

Definition at line 276 of file Slp.def.cc.

◆ i_vkptrAlloc

VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult const VkDevice const VkAllocationCallbacks* const i_vkptrAlloc

Definition at line 303 of file Slp.def.cc.

◆ idx

VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp* const const ae2fVK_eAnnSlpPipeLayouts idx

Definition at line 231 of file Slp.def.cc.

◆ idx_pipe

VkComputePipelineCreateInfo* const VkPipelineLayout* const const VkShaderModule const char* const const ae2fVK_eAnnSlpPipes idx_pipe

Definition at line 196 of file Slp.def.cc.

◆ idx_pipelayout

VkComputePipelineCreateInfo* const VkPipelineLayout* const const VkShaderModule const char* const const ae2fVK_eAnnSlpPipes const ae2fVK_eAnnSlpPipeLayouts idx_pipelayout
Initial value:
{
memset(
, sizeof((pipecreat)[0])
)
VkComputePipelineCreateInfo *const pipecreat
VkComputePipelineCreateInfo *const VkPipelineLayout *const const VkShaderModule const char *const const ae2fVK_eAnnSlpPipes idx_pipe

Definition at line 197 of file Slp.def.cc.

◆ inc

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const const uint32_t inc

Definition at line 364 of file Slp.def.cc.

◆ ir_err

ae2f_err_t ir_err

Definition at line 744 of file Slp.def.cc.

◆ iv_slp

ae2fVK_AnnSlp iv_slp

Definition at line 268 of file Slp.def.cc.

◆ iv_slpptr

VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp* const iv_slpptr

Definition at line 229 of file Slp.def.cc.

◆ layout

Definition at line 212 of file Slp.def.cc.

◆ learningrate

Definition at line 371 of file Slp.def.cc.

◆ learningrate_bias

Definition at line 372 of file Slp.def.cc.

◆ lossderiv

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const const uint32_t const uint32_t 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 lossderiv

Definition at line 370 of file Slp.def.cc.

◆ m_loc

v_mk m_U2 m_S0 m_loc = (v_mk).m_U2.m_S0.m_glob

Definition at line 465 of file Slp.def.cc.

◆ m_log

v_mk m_U2 m_log = ae2f_static_cast(char*, NULL)

Definition at line 593 of file Slp.def.cc.

◆ m_reterr

v_mk m_reterr = ae2f_errGlob_OK

Definition at line 385 of file Slp.def.cc.

◆ m_spirv

v_mk m_U1 m_spirv = NULL

Definition at line 594 of file Slp.def.cc.

◆ m_spirv_len

v_mk m_U0 m_spirv_len = 0

Definition at line 595 of file Slp.def.cc.

◆ m_vkalloccalls

v_mk m_U0 m_alter m_ptr m_vkalloccalls = vkalloccalls

Definition at line 411 of file Slp.def.cc.

◆ m_vkdev

v_mk m_U0 m_alter m_ptr m_vkdev = vkdev

Definition at line 410 of file Slp.def.cc.

◆ maxSets

v_vkdescpoolcreatinfo maxSets = (i_vkmaxdescsets)

Definition at line 319 of file Slp.def.cc.

◆ memoryTypeIndex

v_memallocinfo memoryTypeIndex = (v_memtypeidx)

Definition at line 158 of file Slp.def.cc.

◆ memtypeidx_invalid_minus_one

VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo const VkBufferUsageFlags const VkSharingMode const VkDevice VkMemoryRequirements ae2f_opt const VkAllocationCallbacks unsigned char const unsigned char memtypeidx_invalid_minus_one

Definition at line 24 of file Slp.def.cc.

◆ offset

v_mk m_U1 m_vkpushconstrange offset = 0

Definition at line 512 of file Slp.def.cc.

◆ outc

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const const uint32_t const uint32_t outc

Definition at line 365 of file Slp.def.cc.

◆ pBindings

v_mk m_U1 m_vkdescsetlayoutcreatinfo pBindings = (v_mk).m_U2.m_vkdescsetlayoutbind

Definition at line 469 of file Slp.def.cc.

◆ pCode

v_mk m_U2 m_vkshadermodcreatinfo pCode = (v_mk).m_U1.m_spirv_u32

Definition at line 644 of file Slp.def.cc.

◆ pImmutableSamplers

v_mk m_U2 m_S0 m_glob pImmutableSamplers = NULL

Definition at line 463 of file Slp.def.cc.

◆ pipecreat

VkComputePipelineCreateInfo* const pipecreat

Definition at line 192 of file Slp.def.cc.

◆ pipelayout

VkComputePipelineCreateInfo* const VkPipelineLayout* const pipelayout

Definition at line 193 of file Slp.def.cc.

◆ pName

Definition at line 220 of file Slp.def.cc.

◆ pNext

v_mk m_U2 m_vkshadermodcreatinfo pNext = 0

Definition at line 63 of file Slp.def.cc.

◆ poolSizeCount

v_vkdescpoolcreatinfo poolSizeCount = 1

Definition at line 317 of file Slp.def.cc.

◆ pPoolSizes

v_vkdescpoolcreatinfo pPoolSizes = &(v_vkdescpoolsz)

Definition at line 318 of file Slp.def.cc.

◆ pPushConstantRanges

v_mk m_U2 m_vkpipelayoutcreatinfo pPushConstantRanges = &(v_mk).m_U1.m_vkpushconstrange

Definition at line 519 of file Slp.def.cc.

◆ pQueueFamilyIndices

v_vkbufcreatinfo pQueueFamilyIndices = 0

Definition at line 65 of file Slp.def.cc.

◆ prm_offset

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const const uint32_t const uint32_t ae2f_opt const size_t prm_offset

Definition at line 366 of file Slp.def.cc.

◆ pSetLayouts

v_mk m_U2 m_vkpipelayoutcreatinfo pSetLayouts = (v_mk).m_U0.m_alter.m_ptr->m_vkdescsetlayout

Definition at line 521 of file Slp.def.cc.

◆ pSpecializationInfo

pipecreat [idx_pipe] stage pSpecializationInfo = NULL

Definition at line 221 of file Slp.def.cc.

◆ pushConstantRangeCount

v_mk m_U2 m_vkpipelayoutcreatinfo pushConstantRangeCount = 1

Definition at line 518 of file Slp.def.cc.

◆ queueFamilyIndexCount

v_vkbufcreatinfo queueFamilyIndexCount = 0

Definition at line 66 of file Slp.def.cc.

◆ r_reterr

VkDescriptorPoolSize VkDescriptorPool ae2f_err_t r_reterr

Definition at line 228 of file Slp.def.cc.

◆ r_vkbuf

VkResult VkBuffer r_vkbuf

Definition at line 51 of file Slp.def.cc.

◆ r_vkdescpool

VkDescriptorPoolSize VkDescriptorPool r_vkdescpool

Definition at line 270 of file Slp.def.cc.

◆ r_vkdevmem

VkResult VkBuffer VkDeviceMemory r_vkdevmem

Definition at line 94 of file Slp.def.cc.

◆ r_vkres

VkDescriptorPoolSize VkDescriptorPool ae2f_err_t VkResult r_vkres

Definition at line 50 of file Slp.def.cc.

◆ setLayoutCount

v_mk m_U2 m_vkpipelayoutcreatinfo setLayoutCount = 1

Definition at line 517 of file Slp.def.cc.

◆ shadermod

VkComputePipelineCreateInfo* const VkPipelineLayout* const const VkShaderModule shadermod

Definition at line 194 of file Slp.def.cc.

◆ sharingMode

Definition at line 67 of file Slp.def.cc.

◆ size

v_vkbufcreatinfo size = (sz)

Definition at line 69 of file Slp.def.cc.

◆ stage

pipecreat [idx_pipe] stage stage = VK_SHADER_STAGE_COMPUTE_BIT

Definition at line 218 of file Slp.def.cc.

◆ stageFlags

v_mk m_U1 m_vkpushconstrange stageFlags = VK_SHADER_STAGE_COMPUTE_BIT

Definition at line 462 of file Slp.def.cc.

◆ sType

v_mk m_U2 m_vkshadermodcreatinfo sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO

Definition at line 156 of file Slp.def.cc.

◆ szrequired

VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp* const const ae2fVK_eAnnSlpPipeLayouts const uint32_t szrequired

Definition at line 232 of file Slp.def.cc.

◆ usage

Definition at line 64 of file Slp.def.cc.

◆ v_errbit

VkResult VkBuffer VkDeviceMemory ae2f_err_t v_errbit

Definition at line 23 of file Slp.def.cc.

◆ v_memallocinfo

VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo v_memallocinfo

Definition at line 98 of file Slp.def.cc.

◆ v_memtypeidx

VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo const VkBufferUsageFlags const VkSharingMode const VkDevice VkMemoryRequirements ae2f_opt const VkAllocationCallbacks unsigned char v_memtypeidx

Definition at line 108 of file Slp.def.cc.

◆ v_reterr

VkResult VkBuffer VkBufferCreateInfo ae2f_err_t v_reterr

Definition at line 54 of file Slp.def.cc.

◆ v_vkbufcreatinfo

VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo v_vkbufcreatinfo

Definition at line 53 of file Slp.def.cc.

◆ v_vkdescpoolsz

VkDescriptorPoolSize v_vkdescpoolsz

Definition at line 296 of file Slp.def.cc.

◆ v_vkmemreq

VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo const VkBufferUsageFlags const VkSharingMode const VkDevice VkMemoryRequirements v_vkmemreq

Definition at line 104 of file Slp.def.cc.

◆ v_vkpipelayoutcreatinfo

VkPipelineLayoutCreateInfo v_vkpipelayoutcreatinfo

Definition at line 227 of file Slp.def.cc.

◆ vkalloccalls

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const const uint32_t const uint32_t 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 vkalloccalls
Initial value:
{
(v_vkbufcreatinfo).sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO
VkResult VkBuffer VkBufferCreateInfo v_vkbufcreatinfo
v_mk m_U2 m_vkdescsetlayoutcreatinfo sType
Definition Mlp.def.cc:232

Definition at line 59 of file Slp.def.cc.

◆ vkbufuseflags

VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo const VkBufferUsageFlags vkbufuseflags

Definition at line 56 of file Slp.def.cc.

◆ vkcldeclaration

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const const uint32_t const uint32_t 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 vkcldeclaration

Definition at line 378 of file Slp.def.cc.

◆ vkcldefinition

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const const uint32_t const uint32_t 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 vkcldefinition
Initial value:
{
assert((vkdev) && "Vulkan device null check")
VkResult VkBuffer VkBufferCreateInfo ae2f_err_t const VkBufferUsageFlags const VkSharingMode const VkDevice vkdev
assert((v_predict).m_k==(mlp).m_depth - 2)

Definition at line 379 of file Slp.def.cc.

◆ vkdev

Initial value:
{
(v_vkpushconstrange).size
VkPipelineLayoutCreateInfo ae2f_err_t ae2fVK_AnnSlp *const const ae2fVK_eAnnSlpPipeLayouts const uint32_t szrequired
v_mk m_U1 m_vkpushconstrange size
Definition Mlp.def.cc:257

Definition at line 58 of file Slp.def.cc.

◆ vkmemprops

ae2f_float_t* const ae2f_float_t* const ae2f_float_t* const const uint32_t const uint32_t 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 vkmemprops

Definition at line 375 of file Slp.def.cc.

◆ vkphydevmemprops

VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo const VkBufferUsageFlags const VkSharingMode const VkDevice VkMemoryRequirements ae2f_opt const VkAllocationCallbacks unsigned char const unsigned char const VkMemoryPropertyFlagBits const VkPhysicalDeviceMemoryProperties vkphydevmemprops
Initial value:
{
assert(VK_MAX_MEMORY_TYPES <= memtypeidx_invalid_minus_one && "Invalid index does not do its thing.")
ae2f_err_t const unsigned char memtypeidx_invalid_minus_one

Definition at line 26 of file Slp.def.cc.

◆ vkpropflag_req

VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo const VkBufferUsageFlags const VkSharingMode const VkDevice VkMemoryRequirements ae2f_opt const VkAllocationCallbacks unsigned char const unsigned char const VkMemoryPropertyFlagBits vkpropflag_req

Definition at line 25 of file Slp.def.cc.

◆ vksharemode

VkResult VkBuffer VkDeviceMemory ae2f_err_t VkBufferCreateInfo VkMemoryAllocateInfo const VkBufferUsageFlags const VkSharingMode vksharemode

Definition at line 57 of file Slp.def.cc.

◆ weight_opt

ae2f_float_t* const weight_opt

Definition at line 361 of file Slp.def.cc.