雑談
元ラボユースたちと久しぶりにおしゃべり. いや楽しかった. オンラインでこういうのは初めて.
雑談
元ラボユースたちと久しぶりにおしゃべり. いや楽しかった. オンラインでこういうのは初めて.
無事スケジュール通り進行した. お疲れさまでした.
デバッグ
fugakuのJITでブレークポイントどうやっておくのかなとしばらく悩んだ. int3();と異なりbrk(0);だとそこから進めないので困ってた. 0じゃなくて1000とか2000とかいろいろ試したけど変わらず. gdbも設定を見ても分からない.
ふとプログラムカウンタを増やしたらうまいこと進んだ. せっかくなのでデバッグ方法にメモしておいた.
歯痛くない
歯医者の定期検診で, 歯茎がちょっと腫れてるというので調べてもらったら, 歯茎や虫歯じゃなくて内部がおかしなことなってるらしい. 場合によっては抜かないといけないかもとのこと. またかよ. 毎食後磨いてるのになんでそうなるかな.
valgrind
valgrindで落ちるという報告があって, なんだろなと調べたらHaswellで動かないときと同じミスでadoxがらみだった. もうadoxが使えないときしかJITさせないことにする.
ところで今回の件で初めてvalgrindがadoxに対応していないことを知ったのだけど, amd64 instructions ADCX and ADOX are not implemented in VEXではfixedとなってるのに直してないのね.
クレジットカード
三井住友VISAの新デザインのカードがやってきた. 今まで表に突起があったので触ってわかりやすかったのがのっぺらぼーになった. ICチップでぎりぎりわかるかどうか. 左上の近くにくぼみの印をつけるなどの統一はないのかな.
頭痛
疲れがたまっていたのか頭痛が治まらず, 久しぶりに鎮痛剤を飲んだ.
無事時間通り発表できた. 資料はWebAssembly向け多倍長演算の実装.
結局のところ64( or 32)bitレジスタc, x, yに対して「addc c, x, y」でcが最下位bitがCFを表し, 「x += y + c, cを新しいCFとする」という命令があったらいいんだと思う.
そうすればcarryフラグを特別扱いせず, adoxやadcxの様な使い方もできる.
「__GSHandlerCheck_EH4が未解決」の解決
どうやらVisual Studio 2019のバグだったっぽい. 3月の最新版(16.9.2)にしたら出なくなった.
GitHub Actionでエラー2
これは単にgit submoduleがずれていただけという落ちだった. 中途半端なsubmoduleだったのできちんと修正する.
GitHub Actionでエラー
test_goで落ちてる. 手元ではちゃんと動いてるし, CIのCPUが古いわけでもなさそう. 何が原因かさっぱり検討がつかない. バイナリイメージどうやって取得できるのかな.
bls for Rust on Windows
Visual StudioとGNUのと2種類ある.
VCはcargo test --target=x86_64-pc-windows-msvc
GNUはcargo test --target=x86_64-pc-windows-gnu
mingw64でbuildしたライブラリとリンクするならGNU版. msvc版でVCでbuildしたライブラリとリンクしようとすると__GSHandlerCheck_EH4が未解決というエラー. 調べたらVS2019からの機能らしい. Making C++ Exception Handling Smaller On x64
/d2FH4というオプションが. でもこれをoffにするのはどうしたらよいのだろう.
リファクタリング
いろいろコード整理. LLVM, やっぱり古いバージョンの方が露骨に高速なコードを生成することがある. version 4がversion 11に勝つってどういう理屈なんだろう.
M1 macだと速いみたい. 同じAarch64でも違うのか.
Raspberry Pi
32bit ARM環境が必要なので古いのを引っ張りだしてセットアップ. OSのアップデートに時間がかかったがなんとか出来た. にしてもコンパイル速度遅いな.
llvm
x64向けに最適化したコードに近いコードを生成するllvmを生成するコードを書こうとしてるが, なかなか難しい. 眠たい.
SVEによるexp
改良して利用レジスタが減った. expは1割ほど, tanhは4割ぐらい速くなった. 面白い.
Haswellでadox
うっかり間違えて実行するコードにしてしまってillegal function error. ちょっと古いコードを整理しないと駄目だな.
_ExtInt
まだ対応してない環境が多いな. あと対応しててもwasmだとリンク時エラー. うーん.
C++ Numerics Work In Progress
入ってくると面白いけど実装屋さんとしてはすることが大分減るな.
『スワロウテイルの消失点』(川瀬七緒)
めっちゃ面白かった. よくこんなストーリー考えるな. あんな状態であんなものが作れるのかという疑問はあるが.
travis-ciからGitHub actionに移行
やること多くてなかなか手をつけられなかった. えいやとやってみる. 意外と簡単だった. 最初からなんでも入ってるのでやりやすい. しかも動作が速いな.
暗号テキストのレビュー
Twitterで募集したら強い人が何人も手を挙げてくださってとてもありがたい. がんばって対応しよう.