blob: 7571e915e6c2918af91c49d2a0e473126db2591b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# 得点効率表
```
m = min{上位5名の点}
M = 自分の点
```
| 問題 | m | M | m-M |
|-----------------|-----|-----|-----|
| Mul 7 | 88 | 70 | 18 |
| Abs | 100 | 68 | 32 |
| FAM 8 | 85 | 85 | 0 |
| FMul 2 | 100 | 100 | 0 |
| Lesseq | 100 | 100 | 0 |
| Transpose | 85 | 67 | 18 |
| Gather | 100 | 100 | 0 |
| Square Sum | 100 | 100 | 0 |
| Convert Endian | 100 | 100 | 0 |
| Mod 3 | 85 | 48 | 37 |
| Matrix Square | 100 | 92 | 8 |
| Contains | 82 | 17 | 65 |
| Count Up | 81 | 33 | 48 |
| Transpose MAB | 57 | 49 | 8 |
| Inversion Small | 67 | 27 | 40 |
| Inversion | 81 | 19 | 62 |
# 短縮テクニックメモ
* `imm` を使わない
* `nop` を使わない
* なるべく重ねる
* 特に、ALU と MAU を同時に動かす
* 許される限り精度を落とす
* flat アドレス指定を使う
* データ競合回避のためにアクセスを遅らせる (`$lr[128,128,128,0]` のようなパターン。必要なのは `$lr0` だけ)
* PE に broadcast されている場合
* `j` 指定を使う
* `$t` を間接参照以外にも使う
* 2倍は `packbit`
* 入力と出力のスループットは絶対
* MAB/PE 等の出し分けに `$t` を使わずマスクを使う
|