富士通が公開. 力業でAVX→SVEの変換を行う. 面白い.
富士通が公開. 力業でAVX→SVEの変換を行う. 面白い.
ゼミで使ってくださっているところからいくつかフィードバックをいただいたので反映.
vrndscalepsとvscalefpsの組み合わせならfloatのバイナリフォーマット知らなくてもいいんだな.
マスク
1世帯に2枚なんてつまらないことに500億円使うなら, 子供や一人親, ホームレスなどを支援するNPO法人に1000万円x5千箇所配布の方がずっとスムーズに必要な人に配布できたんじゃないか. 本当に無駄なことばかりしてる.
『ミッション:インポッシブル ローグ・ネイション』
ミッションインポッシブルって初めて見た. パロディとかでよく使われるのはこの曲なのか.
fscale
float x, int y;に対してx * 2^yを求める命令. AVX-512用のexp fmath2.hppで使ったらループあたり1clk速くなった(10.6clk/16entry).
SVE用exp
見よう見まねで動くようになってきた(動くだけ).
calling convension.
zレジスタはz8からz23を使う側が保存する必要あり.
fexpaという命令があるようだ.
どうやって使うのかな.
loadn
picotolsで1から15byteのデータをxmmレジスタに高速に読み込む方法をいろいろ調べる. むずかしいな. 結局alignでシフトがよいのかな. これだと入力データが16byte未満のときに前側に境界超えるけど多分ものすごいレアケースなので別途分岐すればよいだろう.
AVX-512版expがSVEで書けるようになった. 大分慣れてきた. ただどういうコードが速いのかは全然わからない.
log for SVE
1命令ずつ対応するコードを調べる. マニュアルの読み方が難しくて慣れない.
hash-to-curve-draft-07
対応した. もう変わらないで欲しい.
PDFからpng
今までimagemagickを使っていたけどpdftoppmの方がきれいだった. pdftocairoの方がよりよい(そして遅い)らしいけど自分の用途にはpdftoppmで十分かな.
蛍光灯
2万時間持つはずが1年ちょっとで駄目になる. どうやら本体側が駄目っぽいな.
xbyak_aarch64
aling()がバグっていたのでpull req.
bfloat16
簡単な解説を書いた.
スタンディングディスク
最近座って作業すると頭と肩がどうしようもなく痛くなるので IKEYAのSKARSTA スカルスタというのを購入. 25000円. よくなるといいな.
picotls
@kazuhoさんがsscanfを呼ぶと性能が劣化するという話をしていたので面白そうだから調べてみた. どうやらコードが大きくてfrontendが不安定でちょっとしたことでストールしまくってるようだ. 一部のループをアンロールしたらましになった.
『スノーホワイト』(森川智喜)
なんでも教えてくれる鏡. 最初なんじゃこりゃと思ったら, 後半DEATH NOTEっぽい頭脳戦. なかなか面白かった.
SVEの勉強
faddなどは3オペランドだけどfmaxは2オペランド.
ptrue(p0.s); // データごとに全部処理する movprfx(dst.s, p0, src1.s); fmax(dst.s, p0, src2.s);
こんなふうにするのかな. もっとよい方法ある?