use generic version of RAxML v8.2.13 as dependency for bcgTree and Parsnp#23975
use generic version of RAxML v8.2.13 as dependency for bcgTree and Parsnp#23975lexming merged 3 commits intoeasybuilders:developfrom
Conversation
|
@boegelbot please test @ jsc-zen3 |
|
@ocaisa: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 3324059812 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot |
|
|
||
| buildopts = '-f Makefile.AVX2.gcc CC="$CC" && rm *.o && ' | ||
| buildopts += 'make -j %(parallel)s -f Makefile.AVX2.PTHREADS.gcc CC="$CC" && rm *.o && ' | ||
| buildopts += 'make -j %(parallel)s -f Makefile.AVX2.HYBRID.gcc CC="$CC"' |
There was a problem hiding this comment.
@ocaisa Did you check how these Makefiles differ from Makefile.PTHREADS.gcc and Makefile.HYBRID.gcc?
Is it really only changes in compiler options?
There was a problem hiding this comment.
Yes I checked them and there are two things done differently:
avxLikelihood.o : avxLikelihood.c $(GLOBAL_DEPS)
$(CC) $(CFLAGS) -mavx2 -D_FMA -march=core-avx2 -c -o avxLikelihood.o avxLikelihood.c
fastDNAparsimony.o : fastDNAparsimony.c $(GLOBAL_DEPS)
$(CC) $(CFLAGS) -mavx -c -o fastDNAparsimony.o fastDNAparsimony.c
The second is only an additional compilation flag.
The first is a complete file with optimisations which gets picked up via a make flag. However, that file is 10+ years old, I'm sure it does what is was intended for (AVX2 optimisations) but if you are really looking for performance RAxML-NG claims to have the upper hand.
There was a problem hiding this comment.
I don't have any way to test the performance between the two builds, but I really wonder if it is worth our while to introduce dependency branching for something that (right now) doesn't even use our standard compiler optimisations.
|
I totally forgot about @lexming's easyblock PR that tackles the same problem in a different way: |
Updated software
|
|
@boegelbot please test @ jsc-zen3 |
|
This is (I believe) more correct than what was there before. We now build 4 versions of the package:
|
|
@ocaisa: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 3381101862 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot |
|
@lexming Can you take a look at this? |
|
@boegelbot please test @ jsc-zen3 |
|
@ocaisa: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 3432523235 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot |
|
Merging, thanks @ocaisa ! |
A custom version of RAxML with AVX2 optimisation was being used as a dependency in some places. This doesn't work on non-
x86_64so rather switch to a more generic build but using the EasyBuildCFLAGSwhich allows the compiler to use native CPU optimisations.If there is a concern about performance loss here,
RAxML-NGshould really be used anyway in that scenario.