mclのG1へのハッシュ関数のIRTF対応
めんどい作業だけど要望があったので対応した. 頼むからもう仕様変更するなよ.
mclのG1へのハッシュ関数のIRTF対応
めんどい作業だけど要望があったので対応した. 頼むからもう仕様変更するなよ.
TMMレジスタに2次元行列に配置されたメモリを飛び飛びに一気に読むの面白いな. 本来load(tmm, matrixAddr, height, width, nextLine)みたいな引数になるところをconfigレジスタとptr[matrixAddr + nextLine]に押し込める強引さ.
xbyakのIntel AMXパッチ
TMMレジスタってなんだろうと思ったら昨日仕様が公開されたばかりのようだ. パッチ準備してたのかな.
ZKPの構成3
最近考えていたやつを社内ラボ勉強会で説明するためにまとめた. 大分形が分かってきた. 我ながら結構面白いアイデアを組み合わせてできたと思う(他人の目はこれからだけど).
大学のゼミ
にzoomで参加させていただいた(二度目). ありがとうございます. オンライン便利だな.
ZKPの構成2
ここ最近, 「お, できた」「うん, ちょっと違う?」「やっぱりできた」と一人つっこみの連続. 多分本当にできたと思うんだが.
mcl-wasmにissueがいっぱい. 他にもタスクが山積みで大変. やること多すぎ.
SVE
ああ, 少しだけIntelとの違いが分かったかも. Intel CPUは親切だなあ.
CryptAcquireContext
初期化に0を渡していたのだけどエラーになるシステムがあるらしい. 原因は分からないがCRYPT_VERIFYCONTEXTなら大丈夫だったのでそれを使うことにする. 本当は BCryptGenRandomを使うのがよいらしい.
G::mul
余計にスタックをとっていた部分を減らした. multiVecは今までと変わらないけどどうしようかな.
MAP_JIT
少し古めのXcodeで開発しても新しいmacOSで使えるようにMAP_JITを定義する. PyTouchで発生したバグがxbyak側にやってきてoneDNNで引き取ってくれて, こちらに戻ってきたところ.
ZKPの構成
最近ずっと考えていたとあるプロトコルのmaliciousモデルで動くためのZKPの構成, うまくできたかも.
exp(x)+1の逆数を求めてexp(x)を掛けていたのだけど, 逆数近似だとずれが大きくなることが多いようだ. かけるのではなく1 - 1/(exp(x)+1)にするとepsが許容範囲に納まった. これでeltwiseは全てパスしたもよう.
macOSのJIT周りの制約, ちょいちょい変わるし後方互換性ないしうっとうしな.
gelu(x)
gelu(x) = 0.5x(1 + tanh(y)) where y = (A + Bx^2)x なのだけどtanhを展開して少し式変形したら gelu(x) = x(1 - 1/(1 + exp(y))) の形になったので係数と乗算を一つ減らせた.
体動かない
有休とってひたすら寝ていた.
tanh
tanh for SVE作ってみた. 逆数近似がもうちょい精度欲しいかも.
ごちゃごちゃしていたので書き直した. 大分ましになったかな.
exp in dnnl_aarch64
ちゃんと動くようになった. fix table log(2)と書いたときに底がeな人と10な人のずれのせいだった.
二度寝, 三度寝
疲れたまってるのかな. しんどい.
de:code 2020のMicrosoft MVPパーソナルスポンサー
いれてもらえた.
暗号のゼミ
参加させてもらった. いろいろ勉強になりました. ありがとうございます.
本屋
ようやく再開したので2冊たまっていた『数学セミナー』を買いにいった. 図書館も動き出してる. ありがたい.
SVEのデバッグ
デバッグ用にレジスタを表示するコード片を書いたのだけど小さいときは動くのに大きいときはなんか駄目. 保存すべきレジスタが足りないのかな. 64bitポインタを即値で扱うのは、コード中に埋め込んで相対でldrするのが一番楽そう.
Go Toキャンペーン
医療関係者, 介護関係者, 学校関係者の負担が激増してるのだからそちらにお金を使ってほしい. 最近はおかしなことを隠そうともしないよな.