nextstrain / docker-base

Docker image build for nextstrain/base
https://hub.docker.com/r/nextstrain/base/
12 stars 6 forks source link

Test whether re-installing GMP improves execution time of long-running workflows #97

Open victorlin opened 1 year ago

victorlin commented 1 year ago

Context

GMP was removed from the final image in ce07dadb5f6e2786d6ad9eabef00745b501ed425. As @tsibley noted in https://github.com/nextstrain/docker-base/pull/93#discussion_r995162001:

Generally speaking, GMP is often required for bignum support in numerical software, so it's not surprising to see. (I'm a little surprised we don't need it at runtime, but static linking could explain this. Slightly terrifyingly, I've run into libraries that make their use of a bignum library like GMP optional, falling back to a horrifyingly slow implementation when GMP isn't available. Hopefully that's not the case here!)

Possible solution

  1. Open a PR to re-install GMP on the final image.
  2. Use the test image to run ncov and/or monkeypox workflows.
  3. If there is a substantial improvement in execution time, merge PR from (1).
tsibley commented 1 year ago

May be necessary to include it at build time in the builder image too.

fanninpm commented 1 year ago

I tried running augur tree --alignment whatever.fasta --method fasttree and got the following error:

FastTreeDblMP: error while loading shared libraries: libgomp.so.1: cannot open shared object file: No such file or directory
victorlin commented 1 year ago

@fanninpm that sounds like a valid but unrelated bug. Could you open a new issue with that error message and include details on the Docker image being used (e.g. output of docker image ls --digests nextstrain/base)?