<html>#1679: Update OpenMPI, hwloc
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Erik Schnetter</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>resolved</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td>development version</td></tr>
<tr><td style='text-align:right'>     Type:</td><td>enhancement</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>minor</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Other</td></tr>
</table>

<p>Comment (by Roland Haas):</p>
<p>Updating hwloc and building it causes unexpected side effects when using the Intel MPI stack.</p>
<p>Intel’s libmpi.so library contains its own copy of hwloc and exports the  hwloc functions eg <code>hwloc_get_api_version</code>. This causes conflicts with the copy of hwloc provided by the tarball in the hwloc ExternalLibrary thorn. A workaround is to modify <code>MPI_LIBS</code> to ensure that <code>libhwloc.a</code> is linked first (normally it appears after <code>libmpi.so</code> b/c MPI optinally uses hwloc):</p>
<div class="codehilite language-shell"><pre><span></span><span class="c1"># list hwloc here before mpich so that out own, self-build hwloc gets used and</span>
<span class="c1"># not the one embedded in libmpich</span>
<span class="nv">MPI_LIBS</span> <span class="o">=</span> -Wl,--exclude-libs,libhwloc.a hwloc mpi mpifort
</pre></div>


<p>‌</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/1679/update-openmpi-hwloc'>https://bitbucket.org/einsteintoolkit/tickets/issues/1679/update-openmpi-hwloc</a></p>
</html>