EddyRivasLab / hmmer

HMMER: biological sequence analysis using profile HMMs
http://hmmer.org
Other
307 stars 69 forks source link

Update SSE code to use `esl_sse_{left,right}shiftz_float` #242

Closed althonos closed 3 years ago

althonos commented 3 years ago

Hi !

There were some places in the code where _m128 vectors were being left/right shifted with an external zerov null vector, which was causing an unneeded move compared to using the esl_sse_*shiftz_float function.

In locations where a leftshift was done by a _mm_move_ss followed by a _mm_shuffle_ps, it makes it a bit clearer what's happening.

npcarter commented 3 years ago

Martin,

Thanks for this work, it looks like good stuff. GitHub has a bit of an issue with your pull request, in that it can't find a branch to base it off of. Because of that, I've copied your changes into our develop branch by hand, and am most of the way through testing them. Assuming they pass, I'm going to reject the pull request on GitHub to take it off of our pending list, but the changes you've made will go into our next release.

By the way, do you know when you'll be finishing your Ph.D., and have you thought about what you'll do next? We hope to have an opening for a programmer on the HMMER effort opening up fairly soon, assuming the funding is approved.

-Nick

On Mon, Jun 7, 2021 at 6:17 AM Martin Larralde @.***> wrote:

Hi !

There were some places in the code where _m128 vectors were being left/right shifted with an external zerov null vector, which was causing an unneeded move compared to using the eslsse*shiftz_float function.

In locations where a leftshift was done by a _mm_move_ss followed by a _mm_shuffle_ps, it makes it a bit clearer what's happening.

You can view, comment on, or merge this pull request online at:

https://github.com/EddyRivasLab/hmmer/pull/242 Commit Summary

  • Update impl_sse/fwdback.c to use esl_sse_leftshiftz_float where applicable
  • Use esl_sse_rightshiftz_float instead of esl_sse_rightshift_ps when in shifting zeros

File Changes

Patch Links:

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/EddyRivasLab/hmmer/pull/242, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDJBZHIZQ27S6XO2J2GR63TRSMDZANCNFSM46HK3KLA .

npcarter commented 3 years ago

I've finished testing these changes, and they pass all my tests. To make GitHub happier, I've copied them into our develop branch manually and have committed those changes. I'm going to close this pull request since the changes were added manually rather than by accepting the pull. Thanks, Martin!

althonos commented 3 years ago

Hi Nick, no problem! Thanks for testing it, and glad the code works as expected.

By the way, do you know when you'll be finishing your Ph.D., and have you thought about what you'll do next? We hope to have an opening for a programmer on the HMMER effort opening up fairly soon, assuming the funding is approved.

I still have two more years to go, but thanks for the heads-up! Scientific programming is definitely a direction I would like to explore, more than data science like I'm doing right now :wink:

npcarter commented 3 years ago

Thanks for the reply. Good luck with the degree!

-Nick

On Wed, Jun 9, 2021 at 2:53 PM Martin Larralde @.***> wrote:

Hi Nick, no problem! Thanks for testing it, and glad the code works as expected.

By the way, do you know when you'll be finishing your Ph.D., and have you thought about what you'll do next? We hope to have an opening for a programmer on the HMMER effort opening up fairly soon, assuming the funding is approved.

I still have two more years to go, but thanks for the heads-up! Scientific programming is definitely a direction I would like to explore, more than data science like I'm doing right now 😉

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/EddyRivasLab/hmmer/pull/242#issuecomment-857982807, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDJBZF3KUHG7TETHQTAQFDTR62EHANCNFSM46HK3KLA .