I’ve tried my own attempt at super optimizing LC-3 assembly and it’s quite the challenge finding ways to prune the tree while getting meaningful results. Combinatorics go crazy in this situation haha. Someday I’ll look more into STOKE to see how that works
I always wanted to know how FFT kernels can be optimized so well! I tried making an FFT library myself once, and I think I matched FFTW performance without hard-coding kernels, but when I tried using it for big integer multiplication, it was always noticeably slower than gwnum. I tried looking into how gwnum does it, but I think it used a variant of FFT and not FFT itself, so I never quite figured it out.
Yeah! I remember running the benchmarks to create "wisdom files" to see how fast I could get it. Never needed it for practical purposes, but it was fun.
kneeawn | 17 hours ago
I’ve tried my own attempt at super optimizing LC-3 assembly and it’s quite the challenge finding ways to prune the tree while getting meaningful results. Combinatorics go crazy in this situation haha. Someday I’ll look more into STOKE to see how that works
stip | 15 hours ago
This reminds me of how FFTW used to generate different FFT kernels, then benchmark them to pick the one that performed the best on your hardware.
purplesyringa | 13 hours ago
I always wanted to know how FFT kernels can be optimized so well! I tried making an FFT library myself once, and I think I matched FFTW performance without hard-coding kernels, but when I tried using it for big integer multiplication, it was always noticeably slower than gwnum. I tried looking into how gwnum does it, but I think it used a variant of FFT and not FFT itself, so I never quite figured it out.
[OP] herabit | 6 hours ago
when in doubt, "try every conceivable possibility"
stip | 12 hours ago
Yeah! I remember running the benchmarks to create "wisdom files" to see how fast I could get it. Never needed it for practical purposes, but it was fun.