2023/07/20

コロナになった

最後のワクチン接種(4回目)から9か月、今までずっと発症がなかったのですが、ついにかかりました。
多分金曜に飲み会があって電車で名古屋に行ってるのでそこで。

2023/07/08

AMD Optimized FFTWってのがあった

 ハタとFFTWの最新(3.3.10)のwindows向けバイナリって配布されてないような、とかおもって調べてみました。
 doomとかで3.3.8とか20200415頃のとかは落ちてるのですが、3.3.10ってなさそう?
 
何でかよくわかりませんね、とか思ってたらgithubで公開されてそうなのがありました。
 
https://github.com/amd/amd-fftw
 
公開していてるのはなんとamdで、「FFTW code optimized for AMD based processors」とのこと。
v3.2でFFTWの3.3.10に合うようにした、って書いてあるからちゃんと最新ベースになってそうです。
主にEPYC向けに作ったっぽいですが、多分Ryzenでも動くでしょ、ということでコンパイル。
ちなみに、AMD_ARCHにznver4を指定できる、と公式に書いてある時点でエンドユーザにも恩恵があるはず。
ただ、AMD_ARCHはCMAKEでは無視されてるような?

とりあえず3.3.5とbenchで比較してみました。
bench.exeにどんな問題を入れるのが適切かよくわかりませんが、適切にfftできそうなやつ(1024x1024*64とか)は20%ぐらい早くなってそう。 
Ryzen4(AVX512)はさらに10%ぐらいUP?が、ちゃんとAVX512有効でコンパイルできてるのかよくわかりません。(コンパイルしてるメインPCは5900Xで、7900Xは鯖に使ってるってのもあります)
 
ついでに3.3.10もコンパイルしてみたのですが、公式でバイナリが配布されている3.3.5とあまり速度変わらない気がします。