[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Binary names in raxml (Was: [Git][med-team/q2-phylogeny][master] 5 commits: d/salsa-ci.yml: Do not run build on i386)




On 7/18/21 7:04 PM, Andreas Tille wrote:
> Hi Nilesh,
> 
> thanks a lot for fixing q2-phylogeny.
> 
> On Sun, Jul 18, 2021 at 01:14:35PM +0000, Nilesh Patra (@nilesh) wrote:
>> + - Renamed binaries according to the names available in our distribution
>> ... 
>> +         with redirected_stdio(stderr=os.devnull):
>> +-            obs = raxml(input_sequences, raxml_version='SSE3')
>> ++            obs = raxml(input_sequences, raxml_version='Standard')
> 
> This is certainly fixing the issue in q2-phylogeny.  However, I'm
> wondering how many other software out there is expecting the *-SSE3 name
> in raxml.>  So may be the more sustainable fix is adding a symlink inside
> raxml to feature the name that is expected by other software?
> 
> What do you think?

I have to admit that I'm not fully sure there

Full reasoning:

Michael made a simde patch for the raxml package (many thanks Michael!) and as you might see here[1]
there's 4 binaries:

/usr/bin/raxmlHPC
/usr/bin/raxmlHPC-PTHREADS
/usr/bin/raxmlHPC-PTHREADS-AVX
/usr/bin/raxmlHPC-PTHREADS-SSE3

You might notice that there's -PHTREADS-SSE3 available instead.
Now, according to the dispatcher script[2] raxml will pick up the most stable available optimization starting from AVX to down baseline

Now:

I see a problem with the symlink (raxmlHPC-SSE3 -> raxmlHPC) that you suggest:

If someone would want to actually use a SSE3 package, and ends up using raxmlHPC-SSE3
they'd instead end up using the raxmlHPC binary instead, there's also a -PTHREADS-SSE3 which causes some confusion

If we can add a d/NEWS or something like that, maybe that'd work

But even then, a -SSE3 binary would kind of give a false impression of being a compiler binary, which actually it isn't.
And it is a sse3 compiled binary in very specific circumstances when there is on AVX support and there is SSE3 support.

On the other hand, if we do not do such a symlink, we will end up with maintaining un-necessary patches (like the one above) in many packages.
Nice tradeoff? :-)

Let me know what you'd think, and other team member's reviews also welcome :-)

[1]: https://packages.debian.org/sid/amd64/raxml/filelist
[2]: https://sources.debian.org/src/raxml/8.2.12+dfsg-6/debian/bin/raxmlHPC/

Nilesh

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: