Package: raxml
Version: 7.2.8-2
Severity: wishlist

Dear Maintainer,

the current RAxML package contains only the "vanilla" version of RAxML
compiled without support threading or SIMD. Given that typical use cases
of RAxML require days of computation, enabling parallel processing would
improve the utility of the package significantly.

RAxML does not detect the available hardware at runtime. Instead,
separate Makefiles build the various optimized versions. Supported SIMD
variants are: (none), SSE3, AVX and AVX2. Supported threading variants
are: (none), PTHREADS, MPI and HYBRID (both pthreads and MPI).

The makefile names are "Makefile.<SIMD-TYPE><THREAD-TYPE>gcc".

Since most users will have multi-core CPUs and only very few a MPI
environment, focusing on the PTHREAD variants with SIMD extensions
should be a good balance between package complexity and extra value. The
AVX2 extensions apparently do not add much performance. Therefore, I
would suggest building three versions:
- Makefile.PTHREADS.gcc
- Makefile.PTHREADS.SSE3.gcc
- Makefile.PTHREADS.AVX.gcc (depends >= gcc 4.6)

A simple bash wrapper script could then be used to make the appropriate
choice for the user. E.g.:

----
#!/bin/bash

if grep -q avx /proc/cpuinfo; then
  exec raxml.PTHREADS.AVX "$@"
elif grep -q sse3 /proc/cpuinfo; then
  exec raxml.PTHREADS.SSE3 "$@"
else
  exec raxml.PTHREADS.NOSIMD "$@"
fi
----

best regards,
Elmar


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to