Skip to content

Conversation

@merrymercy
Copy link
Member

@merrymercy merrymercy commented Feb 13, 2018

Add winograd for 3x3 kernel.

Layers in VGG16

Workload count original spatial pack (GFLOPS) winograd (effective GFLOPS)
(1, 224, 3, 64, 3, 1, 1) 1 12.1900 x
(1, 224, 64, 64, 3, 1, 1) 1 23.5718 23.853230
(1, 112, 64, 128, 3, 1, 1) 1 26.2391 30.027172
(1, 112, 128, 128, 3, 1, 1) 1 26.6143 35.892291
(1, 56, 128, 256, 3, 1, 1) 1 28.1192 41.253374
(1, 56, 256, 256, 3, 1, 1) 2 28.3494 45.154551
(1, 28, 256, 512, 3, 1, 1) 1 28.8210 47.407165
(1, 28, 512, 512, 3, 1, 1) 2 28.7867 49.158753
(1, 14, 512, 512, 3, 1, 1) 3 20.3852 34.234504

End-to-End

vgg16: 1.64 -> 0.98 (second / image)
resnet18: 0.20 -> 0.17 (second / image)

@tqchen
Copy link
Member

tqchen commented Feb 13, 2018

@merrymercy do you think if it is possible to generalize to batch_size > 1?

@tqchen tqchen mentioned this pull request Feb 13, 2018
4 tasks
@tqchen
Copy link
Member

tqchen commented Feb 13, 2018

It is of interest to bring it to other backends as well, so I opened an issue here #899

@tqchen tqchen merged commit 6224779 into apache:master Feb 13, 2018
@merrymercy
Copy link
Member Author

merrymercy commented Feb 14, 2018

@tqchen It depends on the GEMM implementation. Now It works well for batch size 1~32 with almost the same effective GFLOPS.

tqchen pushed a commit to tqchen/tvm that referenced this pull request Jul 6, 2018
* add winograd for mali

* fix lint

* add padding

* fix comment
sergei-mironov pushed a commit to sergei-mironov/tvm that referenced this pull request Aug 8, 2018
* add winograd for mali

* fix lint

* add padding

* fix comment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants