3x3 gemm in conv
MODIFY
ane/2_compile/simple/conv.plist
ane/2_compile/simple/conv.plist
<!-- Global array of weights -->
<key>Weights</key>
<array>
- <string>../min.weights</string>
+ <string>../twos.weights</string>
</array>
<key>image</key>

ADD
ane/2_compile/twos.weights
ane/2_compile/twos.weights
Binary files /dev/null and b/ane/2_compile/twos.weights differ

ADD
ane/lib/testconv.py
+#!/usr/bin/env python3
+from ane import ANE, ANETensor
+
+if __name__ == "__main__":
+ ane = ANE()
+
+ # 0x20 per row
+ tin = ANETensor(0x60)
+ tout = ANETensor(0x60)
+
+ tind = tin.data()
+ toutd = tout.data()
+
+ #tind[0:4] = [-1,1,-2,2]
+ tind[0] = 1
+ tind[0x20] = 2
+ tind[0x40] = 3
+ print("** before **")
+ print(tind)
+ print(toutd)
+
+ comp = ane.compile(open("../ops/conv.hwx", "rb").read())
+ ret = ane.run(comp, tin, tout)
+ print("** after **")
+ print(tind)
+ print(toutd)

MODIFY
ane/ops/conv.hwx
ane/ops/conv.hwx
Binary files a/ane/ops/conv.hwx and b/ane/ops/conv.hwx differ

3x3 gemm in conv