phylo42/IPK

Avoid CPU oversubscription at raxml-ng level, or the database construction will crash.

blinard-BIOINFO opened this issue · 1 comments

To reproduce:

  • use a virtual machine with only 1 CPU core
  • build a DB using the reference from the tests/ directory.
  • generated raxml-ng command will call for 4 CPUs, e.g. oversubscription.

Raxml-ng will refuse to launch ancestral reconstruction, because there is CPUS oversubscription.
Launching it in the condition is actually possible, but requires to set a dedicated debug option (--oversubscription-allowed).

This scenario is not currently supported at IPK level. The # of thread set at IPK level is passed to raxml-ng.
If IPK default is superior to the machine core, raxml-ng will not run and the process crashes.

@nromashchenko
This bug breaks CI test on bioconda side.
The easy fix was to replace raxml-ng with phyml to avoid CPU oversubscription issues in the Azure pipeline.
For the database construction test, using phyml results to more than 30 minutes of computation, which ends to a job timeout and bioconda test fail.

Until this is fixed, I disabled two bioconda recipe tests (database build and presence of the rps database).
The only tests are know the presence of binaries and execution of epik.py to display the help.

This is documented in bioconda/bioconda-recipes#40369