DevHeads.net

Packages optimized for very specific x86_64 "x" generation (OpenSUSE OBS / Fedora Koji)

As darktable co-maintainer, today I was speaking with darix from
OpenSUSE community, which maintains such package on that distro.
On their OBS build system, they are able to build various packages each
one optimized for a single x86_64 CPU generation using @BUILD_FLAVOR@ +
_multibuild file.[1] So for example they have packages
darktable-broadwell
darktable-ivybridge
darktable-sandybridge
darktable-skylake
darktable-skylake-avx512

 darix also said "that is an OBS feature, nothing that you can just copy
to koji[...]"
"there is no generic solution to this for a normal distro package".

I would like to study a way to make darktable (sub)packages very
optimized for each CPU generation, so I am asking you if that is
possible on Fedora, and what I should study to achieve it.

Best regards

[1]:
<a href="https://build.opensuse.org/package/show/home:darix:darktable:master/darktable" title="https://build.opensuse.org/package/show/home:darix:darktable:master/darktable">https://build.opensuse.org/package/show/home:darix:darktable:master/dark...</a>

Comments

Re: Packages optimized for very specific x86_64 "x" generation (

By Dominik 'Rathan... at 04/13/2018 - 11:40

On Friday, 13 April 2018 at 15:47, Germano Massullo wrote:
On Fedora 27+ (glibc 2.26+), you can use the standard way of building
optimized libraries and putting them in platform and capability-specific
directories, e.g.:
/usr/lib64/haswell
/usr/lib64/haswell/avx512_1
/usr/lib64/xeon_phi

It's not the same as OBS does, but it's better than nothing.

See this article for more information
<a href="https://clearlinux.org/blogs/transparent-use-library-packages-optimized-intel-architecture" title="https://clearlinux.org/blogs/transparent-use-library-packages-optimized-intel-architecture">https://clearlinux.org/blogs/transparent-use-library-packages-optimized-...</a>

Regards,
Dominik