G1::split
G1のGLV法でsplitした結果が128ビットに入るのか分からなかったのでまじめに調べてみた. 大丈夫そうだ.
G1::split
G1のGLV法でsplitした結果が128ビットに入るのか分からなかったのでまじめに調べてみた. 大丈夫そうだ.
数値実験t
ちょっとした数値実験で数時間かかるかなと思ったけどSapphire Rapids 100コアで回したら2分掛からなかった. 買ってよかった.
11124.879u 0.015s 1:51.14 10009.7% 0+0k 0+0io 0pf+0w
shinhさん宅訪問
就職してから, ひとんちにお邪魔するってほとんど記憶にない. 大昔takesakoさんとdankogaiさん宅ぐらいか. 運悪く電車遅延が重なって少し遅れたが無事到着. とっても暖かかった. 電気代聞くの忘れたな.
AVX-512版楕円スカラー倍算
まだGLVメソッドは実装してないけど動いた. 非SIMD版よりは速くなりそうだ. GLVメソッドの前段は SIMDでできるかな. 個別にやるかなあ.
2次拡大体の基本. 簡単なところから書いた.
テーブルルックアップのオフセット
何がずれてるのか分からなかったけどようやくちゃんと動いた. でもFermartの小定理を使ったSIMDによるべき乗による逆元は個別に逆元したほうが速かった. まあ, これはしかたないか.
腰痛
まだ痛い. 立ったり座ったりしながら作業する.
テーブルルックアップ
vpermt2qを使おうと思っていたけどscaleは最大8なので駄目だった. gather命令は必須だった.
AVX-512版楕円曲線演算の高速化
有限体の定数倍演算部分を加算で置き換えたら少し速くなった.
また腰痛い. マッサージしてよくなったばかりなのに.
AVX-512版楕円曲線演算
addとdblが動いた. ALU版より1個あたりの演算は速くなってる. SIMDのままでスカラー倍算をどうやってやるかが悩ましい.
マッサージ
腰が痛いので予定を早めてマッサージに行く. 大分ましになった.
腰痛
昨日ちょっと重めの荷物を持ったら腰が痛い. 気をつけてたんだけどなあ. ジョギングで脚が疲れて座ってる時間が長くなったせいもあるかも.
SIMD版Montgomery乗算2
ちょっと改善して1割ぐらい速くなった.
SIMD版Montgomery乗算1
動くようになった. AVX-512専用だけど. 通常版より速くなるといいんだけど使い処が難しい.
二日続けて出社. 4年ぶりぐらい? 初OST(Open Space Technology)参加. なかなか難しい. 分かってくると面白いけど.
出社
2カ月振りぐらい. 本社で皆が集まるイベントがあったので参加してみた.
cgo
数カ月前からbls-eth-go-binaryが動かんというissueがあって, 全然再現しないので分からなかったが, CGO_ENABLEDが0の環境があるようだ. それは無理だなあ. でもなんでMacやWindowsでそうなってるときがあるのだろう.
valgrind
AVX-512非対応なんだっけか. vpermt2d命令でunhandled instruction bytesが出てしまった. valgrind-3.22.0を取ってきてbuildしてみたけど駄目だった.
VMwareとHyper-V network interface
サスペンドから復帰時なのか, タイミングはいまいち把握できてないけどHyper-Vのネットワークインタフェースが悪さしてVMware上のマシンにつながらなくなることがある. 都度, 仮想マシン設定のアダプタ設定でdisableを選んでるのだけど設定で固定化できないのかな. helpやコミュニティをみてると同様の質問がちょいちょい見かけるけど全然解決されない. 買収されて先行き怪しい気もするし別の環境に移行するかなあ.
SIMD版Montgomery乗算のための実験
GMPでとりあえず実装してみた. 速くなるのかな.