ae2f_docs
SlpInit-Primal.c.cc
Go to the documentation of this file.
1#include <ae2fVK/Ann/Slp.h>
2#include <vulkan/vulkan_core.h>
3#include "../vk.h"
4#include "ae2f/Cast.h"
5
6#include <string.h>
7
8
10
11ae2fVK_AnnSlpMk_t mk;
12
13size_t mapinp;
14
15void FakeAct(ae2f_float_t*, ae2f_float_t v) { }
16
17void FakeLoss (
19 const ae2f_float_t* out,
20 const ae2f_float_t* goal,
21 size_t index,
22 size_t count
23 ) { }
24
26
27int main() {
28 Test_VkInit();
29 (void)sizeof(ae2fVK_AnnSlpMk_t);
30 (void)sizeof(ae2fVK_AnnSlp);
31
33 mk
34 , 0, 0, 0
35 , 2, 1500, 0, 0
36 , FakeAct, FakeAct, FakeLoss
37 , 0, 0
38 , vkdev
39 , vkphydevmemprops
40 , NULL
41
42 ,
43 "#define LOSS_DERIV(r, y, y_desired, i, c)\n"
44 "#define ACT(r, x) *(r) = ((x) - 3)\n"
45 , "/** This is also a comment */"
46 );
47
48 assert(mk.m_U0.m_alter.m_ptr && "__ae2fVK_AnnSlpMk_imp has failed");
49 assert(mk.m_reterr == ae2f_errGlob_OK);
50
51 __ae2fVK_AnnSlpMap_imp(mk.m_reterr, *(mk).m_U0.m_alter.m_ptr, &map);
52 map[0] = 1;
53 map[1] = 2;
54 map[2] = 3;
55 __ae2fVK_AnnSlpUnMap_imp(*(mk).m_U0.m_alter.m_ptr);
56
57 __ae2fVK_AnnSlpClean_imp(*mk.m_U0.m_alter.m_ptr);
58 assert(mk.m_U0.m_alter.m_ptr->m_vkres == VK_SUCCESS);
59
60 free(mk.m_U0.m_alter.m_ptr);
61
62 Test_VkEnd();
63 mk.m_U0.m_alter.m_ptr = 0;
64
65 return 0;
66}
67
68#else
69
70int main() {
71 return 0;
72}
73
74#endif
ae2f_float ae2f_float_t
Definition Float.h:38
#define ae2f_MAC_BUILD
Definition Util.h:4
int main()
size_t mapinp
ae2f_float_t * map
ae2fVK_AnnSlpMk_t mk
#define ae2f_errGlob_OK
The Operation you've wanted went successful.
Definition errGlob.h:23
#define __ae2fVK_AnnSlpMap_imp(r_err, slp, data)
Definition Slp.auto.h:791
#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.
Definition Slp.auto.h:389
#define __ae2fVK_AnnSlpUnMap_imp(slp)
Definition Slp.auto.h:895
#define __ae2fVK_AnnSlpClean_imp(block)
Definition Slp.auto.h:941