Skip to content

Improve cache locality and perf of DeepGru on CPU - #13582

Merged
Dmitri Smirnov (yuslepukhin) merged 5 commits into
mainfrom
yuslepukhin/deep_gru_opt
Nov 9, 2022
Merged

Dmitri Smirnov (yuslepukhin) merged 5 commits into
mainfrom
yuslepukhin/deep_gru_opt

Conversation

@yuslepukhin

@yuslepukhin Dmitri Smirnov (yuslepukhin) commented Nov 7, 2022 •

Copy link
Copy Markdown
Contributor

Description

Introduce Gemm weights pre-pack.

Motivation and Context

A 1-P customer requested a performance improvement for DeepGru which consumes a bulk of CPU in their model. This provides measurable performance improvements.

Customer model numbers.

gru: mean = 356 us; 1ms = 99.8 prctile; 99th prctile = 665 ms (yuslepukhin/deep_gru_opt)
main: mean = 375 us; 1ms = 99.8 prctile; 99th prctile = 695 ms (where yuslepukhin/deep_gru_opt branched off main)
1.13.1: mean = 391 us; 1ms = 99.6 prctile; 99th prctile = 744 ms

Comment thread onnxruntime/core/providers/cpu/rnn/deep_cpu_gru.cc Outdated

@yufenglee Yufeng Li (yufenglee) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@yuslepukhin
Dmitri Smirnov (yuslepukhin) deleted the yuslepukhin/deep_gru_opt branch November 9, 2022 17:59
MS (simon-moo) pushed a commit to simon-moo/onnxruntime that referenced this pull request Dec 21, 2022
### Description
<!-- Describe your changes. -->
Introduce Gemm weights pre-pack.

### Motivation and Context
A 1-P customer requested a performance improvement for DeepGru which
consumes a bulk of CPU in their model. This provides measurable
performance improvements.

Customer model numbers.

gru: mean = 356 us; 1ms = 99.8 prctile; 99th prctile = 665 ms
(yuslepukhin/deep_gru_opt)
main: mean = 375 us; 1ms = 99.8 prctile; 99th prctile = 695 ms (where
yuslepukhin/deep_gru_opt branched off main)
1.13.1: mean = 391 us; 1ms = 99.6 prctile; 99th prctile = 744 ms
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