aboutsummaryrefslogtreecommitdiffhomepage
path: root/NOTE.md
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-09-14 23:52:40 +0900
committernsfisis <nsfisis@gmail.com>2024-09-15 00:02:09 +0900
commit396377f7d8a15a85524fce4937acc83236236636 (patch)
tree8844fcc690693512b7e50a8a53109f6d5cf196f7 /NOTE.md
parent0cf9106fdfc1c1ea32a72b5eb7a6fc58cff22fe9 (diff)
downloadmncore-challenge-396377f7d8a15a85524fce4937acc83236236636.tar.gz
mncore-challenge-396377f7d8a15a85524fce4937acc83236236636.tar.zst
mncore-challenge-396377f7d8a15a85524fce4937acc83236236636.zip
11-Square-Sum
Diffstat (limited to 'NOTE.md')
-rw-r--r--NOTE.md25
1 files changed, 14 insertions, 11 deletions
diff --git a/NOTE.md b/NOTE.md
index 49126bb..7571e91 100644
--- a/NOTE.md
+++ b/NOTE.md
@@ -7,22 +7,22 @@ M = 自分の点
| 問題 | m | M | m-M |
|-----------------|-----|-----|-----|
-| Mul 7 | 80 | 80 | 0 |
-| Abs | 94 | 68 | 26 |
-| FAM 8 | 90 | 90 | 0 |
-| FMul 2 | 100 | 85 | 15 |
+| 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 | 93 | 7 |
+| Square Sum | 100 | 100 | 0 |
| Convert Endian | 100 | 100 | 0 |
-| Mod 3 | 70 | 48 | 22 |
+| Mod 3 | 85 | 48 | 37 |
| Matrix Square | 100 | 92 | 8 |
-| Contains | 25 | 17 | 8 |
-| Count Up | 64 | 33 | 31 |
-| Transpose MAB | 69 | 51 | 18 |
-| Inversion Small | 55 | 28 | 27 |
-| Inversion | 52 | 19 | 33 |
+| Contains | 82 | 17 | 65 |
+| Count Up | 81 | 33 | 48 |
+| Transpose MAB | 57 | 49 | 8 |
+| Inversion Small | 67 | 27 | 40 |
+| Inversion | 81 | 19 | 62 |
# 短縮テクニックメモ
@@ -32,7 +32,10 @@ M = 自分の点
* 特に、ALU と MAU を同時に動かす
* 許される限り精度を落とす
* flat アドレス指定を使う
+ * データ競合回避のためにアクセスを遅らせる (`$lr[128,128,128,0]` のようなパターン。必要なのは `$lr0` だけ)
* PE に broadcast されている場合
* `j` 指定を使う
* `$t` を間接参照以外にも使う
* 2倍は `packbit`
+* 入力と出力のスループットは絶対
+* MAB/PE 等の出し分けに `$t` を使わずマスクを使う