<pre style='margin:0'>
David Strubbe (dstrubbe) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/5ed8a695beb8a22a94f750df439990e5e9680349">https://github.com/macports/macports-ports/commit/5ed8a695beb8a22a94f750df439990e5e9680349</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 5ed8a695beb wannier90: Enable MPI.
</span>5ed8a695beb is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 5ed8a695beb8a22a94f750df439990e5e9680349
</span>Author: David Strubbe <dstrubbe@macports.org>
AuthorDate: Tue Jun 30 19:14:51 2020 -0700
<span style='display:block; white-space:pre;color:#404040;'> wannier90: Enable MPI.
</span>---
science/wannier90/Portfile | 33 +++++++++++++++++++++++++++------
1 file changed, 27 insertions(+), 6 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/wannier90/Portfile b/science/wannier90/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8c8522010ee..3436f1a0d45 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/wannier90/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/wannier90/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,7 +1,7 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup compilers 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup mpi 1.0
</span> PortGroup linear_algebra 1.0
name wannier90
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,10 +34,14 @@ configure {
</span> file copy ${worksrcpath}/config/make.inc.macosx.macports ${worksrcpath}/make.inc
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO: enable use of MPI
</span> pre-build {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- build.args F90=${configure.f90} LDOPTS="-O3" COMMS="" MPIF90="" CC=${configure.cc} CFLAGS="${configure.cflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBS="-L${prefix}/lib ${linalglib}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.args F90=${configure.f90} LDOPTS="-O3" CC=${configure.cc} CFLAGS="${configure.cflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBS="-L${prefix}/lib ${linalglib}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[mpi_variant_isset]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.args-append COMMS="mpi" MPIF90=${configure.f90}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.args-append COMMS="" MPIF90=""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> if {[variant_isset g95]} {
build.args-append FCOPTS="-O3 -fno-second-underscore"
} else {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,7 +61,7 @@ destroot {
</span> }
compilers.choose f90
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compilers.setup require_fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mpi.setup require_fortran
</span>
variant threads requires atlas description {Build with threaded ATLAS} {}
# test fails with small discrepancies:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -81,7 +85,24 @@ variant threads requires atlas description {Build with threaded ATLAS} {}
</span> # ERROR: absolute error 1.06e-05 greater than 1.00e-05. (Test: 11.511365424. Benchmark: 11.511354835.)
test.run yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-test.target test-serial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-test {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[mpi_variant_isset]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.target test-parallel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # TODO: patch numprocs to appropriate number, not just 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![catch {sysctl hw.ncpu} ncpus]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|mpirun -np tc\.nprocs|${mpi.exec} -np ${ncpus}|" ${worksrcpath}/test-suite/testcode/lib/testcode2/__init__.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.target test-serial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# with mpich +gcc9, just one failure:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#tests/testpostw90_pt_kpathbandsshc - Pt.win: **FAILED**.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#shc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ERROR: absolute error 1.11e-02 greater than 1.00e-02. (Test: -2.415645. Benchmark: -2.4267646.)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#shc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ERROR: absolute error 1.11e-02 greater than 1.00e-02. (Test: -2.9992466. Benchmark: -2.9881258.)
</span>
# without threads small discrepancies for
#tests/testw90_example03 - silicon.win: **FAILED**.
</pre><pre style='margin:0'>
</pre>