Hi Drew, On Sat, Feb 09, 2019 at 01:07:47PM +1100, Drew Parsons wrote: > On 2019-02-09 03:25, Mo Zhou wrote: > > I think it would be more constructive to provide arch-specific packages for > eigen/blas etc on amd64 which Conflict/Replace/Provide the standard > packages. > > That way a local administrator can choose to install them if they help > improve performance.
Theoretically graceful, but this actually makes packaging much harder and more complex, in order to avoid SIGILL. However, in a partial fork we could directly assume a haswell baseline and provide rebuilt packages from identical source. This way looks unconstructive but it's economic. https://tracker.debian.org/pkg/isa-support was available since Aug 2017, but the highest ISA baseline (SSE4.2) is still too conservative to make actual sense. > Hacking dpkg itself for this purpose and forking an entire linux > distribution is way too invasive and distracts from solving the actual > problem. I must emphasize that SIMDebian only cares about packages that would definitely benefit from bumped ISA baseline, and hence I call it a **partial** fork. The modified dpkg is not used for rebuilding the whole archive by brute force, but for (automatically) picking low-hanging fruits. If package benefits a lot from bumped ISA baseline, the modified dpkg helps you quickly rebuild it without any code change. Apart from that, reminded by jrtc27 on IRC, I dug a bit on compiler's FMV (function multi-versioning) feature[1]. Julia[2] and Clear Linux[3] are taking advantage from this feature. And most importantly, packages with FMV feature can enter the Debian archive. So FMV is another feasible solution to packages need to be accelerated. After glancing at some benchmarks[4][5] of Clear Linux I started to wonder if we could borrow some ideas or even patches from Clear linux and introduce them to Debian... [1] https://lwn.net/Articles/691932/ [2] https://github.com/JuliaLang/julia/pull/21849 [3] https://clearlinux.org/documentation/clear-linux/tutorials/fmv [4] https://www.phoronix.com/scan.php?page=article&item=arch-antergos-clear&num=1 [5] https://www.phoronix.com/scan.php?page=article&item=ubuntu-clear-tweaks&num=1