[Robert, sorry for the long silence to bug #729537. While we now have more recent versions of RAxML in Debian the sse3-pthreads hint of yours was not regarded but may be since this is now on the table you might like to have some word about it as well.]
Hi, I tried to implement Elmar's hint about enabling SIMD and threading support. So far I managed in SVN the creation of the executables resulting from the following Makefiles: Makefile.gcc Makefile.PTHREADS.gcc Makefile.SSE3.PTHREADS.gcc Makefile.AVX.PTHREADS.gcc However, when thinking about, users might be used to call raxmlHPC and thus the wrapper should get this name and we could throw away the result of Makefile.gcc. Is this correct or not? Is there any possibility that the vanilla raxmlHPC might be used under some circumstance in practical cases as last resort? What about Makefile.AVX2.PTHREADS.gcc ? Once we are talking about it: We have some Debian programs were we deliver a "pure" and a "mpi" binary package. If I understood Elmar correctly the results of Makefile.AVX.HYBRID.gcc Makefile.AVX.MPI.gcc Makefile.AVX2.HYBRID.gcc Makefile.AVX2.MPI.gcc Makefile.SSE3.HYBRID.gcc Makefile.SSE3.MPI.gcc (Yup I could follow the advise to read http://sco.h-its.org/exelixis/pubs/Exelixis-RRDR-2010-3.pdf but I feel more comfortable to follow the advise of people who have read / written the paper. ;-)) I simply might get the best package layout for our users and I need your (= a users) help to approach this. Kind regards and many thanks for your input Andreas. On Tue, Jul 29, 2014 at 02:37:44PM +0200, Elmar Pruesse wrote: > 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 > > _______________________________________________ > Debian-med-packaging mailing list > debian-med-packag...@lists.alioth.debian.org > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-packaging > -- http://fam-tille.de -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org