Skip to content

Commit

Permalink
raxml: update to 8.2.12
Browse files Browse the repository at this point in the history
- add support for the avx2 variant
  • Loading branch information
ttung authored and reneeotten committed Jan 19, 2021
1 parent 14eaaff commit 8571088
Show file tree
Hide file tree
Showing 2 changed files with 178 additions and 272 deletions.
35 changes: 23 additions & 12 deletions science/raxml/Portfile
Expand Up @@ -6,10 +6,12 @@ PortGroup mpi 1.0
PortGroup xcode_workaround 1.0
PortGroup makefile 1.0

github.setup stamatak standard-RAxML 7.7.6 v
revision 2
checksums sha256 7562b307bc50e38162f104271793a1c8f98f866c2342bea21afe6df6a982fd82 \
rmd160 da76d6623515b7d8f78a69aaf4eec713508789af
github.setup stamatak standard-RAxML 8.2.12 v
github.tarball_from archive
revision 0
checksums sha256 338f81b52b54e16090e193daf36c1d4baa9b902705cfdc7f4497e3e09718533b \
rmd160 eaaa1dc2bc9a55ad070d14f2a4ceab55afa05aac \
size 10138831
name raxml
description Estimation of phylogenetic trees
long_description RAxML is a program for sequential and parallel \
Expand All @@ -34,7 +36,6 @@ set EXTm ""
set EXTb ""

#Use the HYBRID implementation

variant hybrid conflicts pthreads description {Hybrid MPI implementation} {
if {![mpi_variant_isset]} {
return -code error "$name: Variant hybrid requires an mpi variant"
Expand Down Expand Up @@ -64,12 +65,12 @@ if {![mpi_variant_isset]} {

#For Intel machines add SSE and AVX as a variant and use it by default with pthreads
if {${build_arch} eq "i386" || ${build_arch} eq "x86_64"} {
variant sse3 conflicts avx description {Use the SSE3 extended instruction set from Intel since 2004} {
variant sse3 conflicts avx avx2 description {Use the SSE3 extended instruction set from Intel since 2004} {
set EXTm ".SSE3"
set EXTb "-SSE3"
}

variant avx conflicts sse3 description {Use the AVX extended instruction set from Intel i7 (sandy bridge) and AMD Bulldozer} {
variant avx conflicts avx2 sse3 description {Use the AVX extended instruction set from Intel i7 (sandy bridge) and AMD Bulldozer} {
pre-fetch {
if {![avx_compiler_isset]} {
return -code error "$name: Variant avx needs a clang-derived compiler"
Expand All @@ -79,12 +80,22 @@ if {${build_arch} eq "i386" || ${build_arch} eq "x86_64"} {
set EXTb "-AVX"
}

if {![catch {sysctl hw.optional.sse3} result] && ${result} == 1} {
if {![catch {sysctl hw.optional.avx1_0} result] && ${result} == 1} {
default_variants-append +avx
} else {
default_variants-append +sse3
variant avx2 conflicts avx sse3 description {Use the AVX2 extended instruction set from Intel Haswell and AMD Excavator} {
pre-fetch {
if {![avx_compiler_isset]} {
return -code error "$name: Variant avx2 needs a clang-derived compiler"
}
}
set EXTm ".AVX2"
set EXTb "-AVX2"
}

if {![catch {sysctl hw.optional.avx2_0} result] && ${result} == 1} {
default_variants-append +avx2
} elseif {![catch {sysctl hw.optional.avx1_0} result] && ${result} == 1} {
default_variants-append +avx
} elseif {![catch {sysctl hw.optional.sse3} result] && ${result} == 1} {
default_variants-append +sse3
}
} else {
post-patch {
Expand Down

0 comments on commit 8571088

Please sign in to comment.