Skip to content

Conversation

@tmoreau89
Copy link
Contributor

This PR brings NHWC conv2d TOPI declaration and schedules for x86 (ARM support to follow)

This addresses the lack of autotuning support pointed out in the discussion in #3141

@tmoreau89
Copy link
Contributor Author

Currently WIP since schedule templates will need to be fine-tuned to reach good performance on AVX

@anijain2305
Copy link
Contributor

@tmoreau89 Very glad to see this :)

I have a couple of high-level comments/questions

  • Is it possible to get some utilization numbers for NHWC?
  • So, this will bring 2 schedules - NCHWc and NHWC into the mix. NHWC will have the benefit of no layout transforms. But, NCHWc + transform might be faster than NHWC. Do we know the answer? Main concern is maintainability.
  • Just a suggestion. It might be good if we can put all x86 NHWC changes in one file for readability and maintainability. The current implementation is already turning to be messy.

@tmoreau89
Copy link
Contributor Author

@anijain2305 thanks for the feedback; I'll need to fine tune the schedules and report on the perf numbers, hence the WIP label!
Re: organization, indeed it's a little messy at the moment and could use better structure. Do we have a good idea of what tuning schedules are used and what are deprecated?

Also is there potential for code reuse between x86 and ARM schedules?

@anijain2305
Copy link
Contributor

Good question about what is deprecated. I don't know actually. I will try to figure that out.

@kevinthesun
Copy link
Contributor

My feeling is that if x86 NHWC doesn't show performance improvement over NCHWc, probably we should go this way: #3670.

@tqchen
Copy link
Member

tqchen commented Sep 13, 2019

ping @tmoreau89 please look into the CI error

@tqchen tqchen added the status: need update need update based on feedbacks label Sep 13, 2019
@tmoreau89
Copy link
Contributor Author

@tqchen thanks for the ping, this PR has been a little dormant and requires some work, I'll place a WIP tag on it. The main issue right now is to get a schedule template that matches NCHWc in terms of performance.

@tqchen
Copy link
Member

tqchen commented Jan 15, 2020

superseded by #3859

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

Labels

status: need update need update based on feedbacks status: WIP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants