Skip to content

Optimization Convolution op when using dnnl ep#10051

Merged
jywu-msft merged 1 commit intomicrosoft:masterfrom
georgen117:dnnl_conv_optimization
Dec 16, 2021
Merged

Optimization Convolution op when using dnnl ep#10051
jywu-msft merged 1 commit intomicrosoft:masterfrom
georgen117:dnnl_conv_optimization

Conversation

@georgen117
Copy link
Contributor

Description:
If Group attr = 1 allow the OneDNN library to optimize the memory
layout for the device the Convolution operator is being run on.

Without this optimization, the default NCHW memory layout is used
on CPUs, the NCHW memory layout can result in a significant performance
decrease.

Motivation and Context

  • Why is this change required? What problem does it solve?
    Using the default NCHW memory layout on CPU resulted in poor performance when running convolution models on CPU.
  • If it fixes an open issue, please link to the issue here.

If Group attr = 1 allow the OneDNN library to optimize the memory
layout for the device the Convolution operator is being run on.

With out this optimization the default NCHW memory layout is used
on CPUs the NCHW memory layout can result in a significant performance
decrease.

Signed-off-by: George Nash <george.nash@intel.com>
@georgen117
Copy link
Contributor Author

@jywu-msft maintainer, please remember to run /azp run Linux DNNL CI Pipeline since this is the main pipeline that runs the dnnl ep.

@jywu-msft
Copy link
Member

/azp run Linux DNNL CI Pipeline

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@georgen117
Copy link
Contributor Author

@jywu-msft you think you can launch the other CI builds now. Thanks!

@jywu-msft
Copy link
Member

/azp run Linux CPU Minimal Build E2E CI Pipeline, Linux GPU TensorRT CI Pipeline, Linux Nuphar CI Pipeline, MacOS CI Pipeline, ONNX Runtime Web CI Pipeline, onnxruntime-python-checks-ci-pipeline, Linux CPU Minimal Build E2E CI Pipeline, Linux CPU x64 NoContribops CI Pipeline, Linux CPU x64 NoContribops CI Pipeline

@jywu-msft
Copy link
Member

/azp run Linux GPU CI Pipeline, Linux OpenVINO CI Pipeline, Windows CPU CI Pipeline, Windows GPU CI Pipeline, Windows GPU TensorRT CI Pipeline, orttraining-linux-ci-pipeline, orttraining-linux-gpu-ci-pipeline, orttraining-ortmodule-distributed, Linux CPU CI Pipeline

@azure-pipelines
Copy link

Azure Pipelines successfully started running 6 pipeline(s).

@azure-pipelines
Copy link

Azure Pipelines successfully started running 9 pipeline(s).

@jywu-msft jywu-msft merged commit 7922a8c into microsoft:master Dec 16, 2021
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