Fis Trivial writes:

> Ludovic Courtès writes:
>
>> Hello,
>>
>> Fis Trivial <ybbs.da...@hotmail.com> skribis:
>>
>>> Ludovic Courtès writes:
>>>
>>>> Hello Guix!
>>>>
>>>> This post is a followup to our previous discussions on how to handle
>>>> architecture-specific optimizations:
>>>>
>>>>   
>>>> https://guix-hpc.bordeaux.inria.fr/blog/2018/01/pre-built-binaries-vs-performance/
>>>>
>>>> Comments welcome!
>>>>
>>>> Ludo’.
>>>
>>> Instructions support seems like just another kind of runtime dependency,
>>> can we reconsider this:
>>> https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00166.html
>>
>> What do you mean?  The thread you’re referring to doesn’t discuss
>> architecture-specific optimizations.
>>
>> Ludo’.
>
> It's not architecture specific. But we can treat architecture as one of
> the runtime dependency, right? For example, openBlas depends on SSE
> instructions set, but, optionally it can depends on AVX2. (Not a perfect
> example since openblas can optimize itself at runtime, but hopefully you
> can understand the idea)
>
> So, we can build packages in a generic way, and then provide optional
> dependencies.
> In this case, we treat SSE as default dependency and AVX2 as an optional
> dependency, let users specify whether they want it or not.
> AVX2 need not to be actual packages, it's just an abstraction.
>
> It's just a thought that we can abstract architecture as part of the
> dependency graph.
>
> Thanks for you time.

Replying to myself, if this is doable, it will not only benefit
performance, but also all the other packages who have optional language
bindings, optional GUI backends or any other optional runtime
dependencies/feature. 

Reply via email to