[Debian-med-packaging] Bug#756392: enable SIMD and threading support
Elmar Pruesse
epruesse at mpi-bremen.de
Tue Jul 29 12:37:44 UTC 2014
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
More information about the Debian-med-packaging
mailing list