lots of notes
MODIFY
ane/2_compile/simple/conv.plist
ane/2_compile/simple/conv.plist
<key>InputWidth</key>
<integer>1</integer>
+ <key>InputDepth</key>
+ <integer>1</integer>
+
<key>InputInterleave</key>
<integer>1</integer>
+ <key>InputBatchStride</key>
+ <integer>192</integer>
+ <key>InputDepthStride</key>
+ <integer>192</integer>
<key>InputPlaneStride</key>
<integer>64</integer>
<key>InputRowStride</key>
<key>KernelWidth</key>
<integer>1</integer>
+ <key>KernelDepth</key>
+ <integer>1</integer>
+
+ <key>PadTop</key>
+ <integer>0</integer>
+ <key>PadBot</key>
+ <integer>0</integer>
+ <key>PadLeft</key>
+ <integer>0</integer>
+ <key>PadRight</key>
+ <integer>0</integer>
+
<key>KernelIndex</key>
<integer>0</integer>
<key>KernelOffset</key>
<key>OutputInterleave</key>
<integer>1</integer>
+ <key>OutputBatchStride</key>
+ <integer>192</integer>
+ <key>OutputDepthStride</key>
+ <integer>192</integer>
<key>OutputPlaneStride</key>
<integer>64</integer>
<key>OutputRowStride</key>

MODIFY
ane/README
ane/README
@@ -96,17 +96,22 @@ u32[16] 0x34-0x74 = 0x80 | 1 if used
u32[16] 0x74-0xB4 = <channel data offset>
u32[16] 0xB4-0xF4 = <channel data length>
-== section break 0x128 (input/output conv) ==
+== section break 0x128 (conv) ==
u16 0x128 = InputWidth
u16 0x12A = InputHeight
+u16 0x12C = InputDepth
u32 0x130 = (OutputType * 0x10) | InputType
+
u32 0x134 = InputChannels
u32 0x138 = OutputChannels
+
u16 0x13C = OutputWidth
u16 0x13E = OutputHeight
+u16 0x140 = OutputDepth
u16 0x144 = 0xa000 | (KernelHeight * 0x20) | KernelWidth
+u16 0x146 = 0x5000 | (PadTop * 0x40) | (PadLeft * 2)
u16 0x14C = BatchSize
u32 0x150 = OutputHeight?
@@ -116,21 +121,29 @@ reloc 0x16c-0x174 = image
u32 0x178 = InputRowStride
u32 0x17C = InputPlaneStride
-u32 0x180 = (InputPlaneStride * InputChannels)
+u32 0x180 = InputDepthStride
+u32 0x184 = InputBatchStride
+
+u8 0x1A7 = InputInterleave
== section break 0x1e0 ==
+u8 0x1E5 = InputInterleave
+
u32 0x1F4 = InputChannels * 0x10
-u32 0x1F8 = InputChannels * 0x10
+u32 0x1F8 = InputDepth * InputChannels * 0x10
+
+u8 0x211 = OutputInterleave
u32 0x220 = OutputChannels * 0x10
-u32 0x224 = OutputChannels * 0x10
+u32 0x224 = OutputDepth * OutputChannels * 0x10
== section break 0x22c (scaling) ==
u16 0x230 = BiasScalar
u16 0x232 = ScaleScalar
== section break 0x240 ==
-u32 0x240 = 0x80 | KernelType
+u8 0x240 = 0x80 | KernelType
+u8 0x241 = 4 * hasbatch
u16 0x246 = 0x10 | 2 * neuron?
== section break 0x258 (output) ==
@@ -138,7 +151,10 @@ reloc 0x258-0x25c = probs@output/src
u32 0x260 = OutputRowStride
u32 0x264 = OutputPlaneStride
-u32 0x268 = (OutputPlaneStride * OutputChannels)
+u32 0x268 = OutputDepthStride
+u32 0x26C = OutputBatchStride
+
+u8 0x273 = OutputInterleave
== Zin Constants ==

lots of notes