Loading [MathJax]/jax/output/CommonHTML/jax.js

Transpose

top Top: 10 lines / sosuupoyo

par Par: 64 lines

Problem Statement

レイアウト表記の理解のための練習問題です。LM0 上の 2 次元配列を、表記に従ってレイアウトを変換しつつ、LM1 にコピーしてください。

Explanation

((8:8, 8:1)) という表記は、: の左側が各軸の要素数、右側がストライドを表します。

すなわち、長さ 64 のベクトル XX.reshape(8, 8) したものについて、1 軸目が 1 進むとアドレスが長語単位で 8 進み、2 軸目が 1 進むとアドレスが長語単位で 1 進むことを意味します。

reshape 後の [2, 3] の要素は、$lm38=(2×8+3×1)×2)に配置されます。

同様に ((8:1, 8:8)) のレイアウトの場合、[2, 3] の要素は $lm52=(2×1+3×8)×2)に配置されます。

別の例として ((4_PE:1, 16:1, 2_W:1)) といった表記ですと、A.reshape(4, 16, 2) としたものの 1,2,3 軸目をそれぞれ「4 つのPE」「16 長語」「長語内の 2 単語」で分割します。

例えばこの [3, 2, 1] の要素は「PE=3」「2 長語目」「長語内の単語=1」となるので、PE 3 のアドレス $m55=2×2+1)となります。

VSM を短く書くためには、1 問目 Welcome の Auto stride 表記 $lm0v2 なども参考にしてください。

Inputs

Outputs

Testcases

testcase.vsm

Submission

ログイン / 新規登録