M1 Mac
Software updateをしたらbrew周りの環境が壊れた. よく分からないけどbrewを入れ直してbrew doctorに従っていろいろ修正したら直った.
x64 Linuxで作ったllファイルはMacのclangではうまくコンパイルできなかった. よく分からないのでbrew install clang@12を入れて対処. clangで生成したsファイルをgasでアセンブルできるようにするには-no-integrated-asが必要らしい.
M1 Mac
Software updateをしたらbrew周りの環境が壊れた. よく分からないけどbrewを入れ直してbrew doctorに従っていろいろ修正したら直った.
x64 Linuxで作ったllファイルはMacのclangではうまくコンパイルできなかった. よく分からないのでbrew install clang@12を入れて対処. clangで生成したsファイルをgasでアセンブルできるようにするには-no-integrated-asが必要らしい.
Visual Studio 2022
clang-clコマンドをインストール. これを使うと_ExtIntを使ったコードはbuildできた. x64 Linuxで作ったllファイルでもbuildできた. これでclang-12じゃなくても大丈夫だと思いたい.
除算
割る数が固定長の除算ルーチンができた. 256bitならGMPの数倍は速そなのでこのまま進める. 細かい最適化は出来上がってから. まずはGMPからの完全脱却を目指す.
bitint
とりあえずclang-12 -emit-llvmでbcを作ってllvm-disでllにすれば新しいclangでもbuildできるだろうという期待で_ExtIntを使って除算を実装することにした.
ゼミ
暗認本を使ったゼミをするというので参加させていただいた. 使ってもらえるのはとてもありがたい.
ラボユース面接
しばらく応募してくれた人の面接が続く.
_ExtIntが消えた
clangがC23の_BitInt(N)に対応する代わりに_ExtIntが無くなったらしい. 試したらNが128を超えたらエラーで名前が変わっただけじゃないみたい(まだ実装中?). うーん, 困ったな.
logsoftmax
富岳版oneDNNのテストが失敗するので調べる. logの細かい係数のずれを修正したら通るようになったけど誤差チェックが厳しすぎるよな.
『数学セミナー』
今月号の『数学セミナー』(2022/5)の「創刊当時の思い出」の著者(一松信)といえば, 大学のときにで読んだ『解析学序説』の「絶対収束は絶対に収束する」かなんかの駄洒落が印象に残ってる. というか, 御歳96なのか. すごすぎる.
mul(G, G, F)
F = Frを仮定していたのでFpのときに値がおかしくなっていたのを修正(使ってないからいいだろうと思っていたら早速issueが立ってしまった).
mulVec完了
リファクタリングが終わって一段落. 次は除算の改善かな.
mulVec
大きなnでのマルチスカラー倍算の和の高速なアルゴリズムの実装. パラメータ設定が難しいな.
waitpkg
Xbyakで対応. ユーザランドでspinlockするためのものらしい.
はやく新型コロナが落ち着いてリアルな合宿したいな.