webdnn icon indicating copy to clipboard operation
webdnn copied to clipboard

memorylayoutによるconcatの省略

Open Kiikurage opened this issue 9 years ago • 5 comments

条件

  • concatがinplace
  • concatするaxisがメモリオーダーで一番外側
  • memory layoutが隣接している

が揃えばconcatは省略できる そのためには

  • frontend側でチャンネルオーダに関するattributeを追加する
  • backendのAllocaterにも最適化ルールを拡張できる機構を作る

が必要

Kiikurage avatar Apr 16 '17 02:04 Kiikurage

任意のレイアウトを許容するとbackendが大変そうなので、レイヤーごとに許容するレイアウトを表明できるようにした方が良い?

milhidaka avatar Apr 16 '17 03:04 milhidaka

concat直前のconvと、それ以外のconvで最適な入出力の並びが違う可能性がある。 転置レイヤーのようなものが出力にくっつくことで対応可能になりそう

milhidaka avatar Apr 16 '17 03:04 milhidaka

オーダー変更レイヤーは必要そうですが、今回の件についてはMemoryLayoutの最適化を施すかどうかはbackend依存なため、frontend側でオーダー変更レイヤーを追加する必要はないのではないでしょうか

Kiikurage avatar Apr 16 '17 03:04 Kiikurage

ということは、あるレイヤーの入出力variableのオーダが違っていたら、それをbackend側で察知して挙動を変える感じですかね

milhidaka avatar Apr 16 '17 03:04 milhidaka

それが良いと思います。 もしくは、 計算を行う上で必要不可欠なオーダー変更 はfrontend側で追加し、 メモリレイアウトの最適化などに伴う冗長なオーダー変更 はbackend側で追加、とかもありかもしれません。

Kiikurage avatar Apr 16 '17 03:04 Kiikurage