<html>#2626: Multipole is not OpenMP parallelized
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Gabriele Bozzola</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td></td></tr>
<tr><td style='text-align:right'>     Type:</td><td>enhancement</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>trivial</td></tr>
<tr><td style='text-align:right'>Component:</td><td></td></tr>
</table>

<p>Comment (by Ian Hinder):</p>
<p>When you say that Multipole is taking 1-2% of the execution time in your BBH simulation, I would say:</p>
<ol>
<li>That’s not very much <img class="emoji" src="https://pf-emoji-service--cdn.us-east-1.prod.public.atl-paas.net/standard/a51a7674-8d5d-4495-a2d2-a67c090f5c3b/48x48/1f642.png" alt="🙂" title=":slight_smile:" data-emoji-short-name=":slight_smile:" /> </li>
<li>It is possible that what the timer is measuring is the time spent on one process waiting for the other processes to catch up.  If you want to know, you can set <code>Carpet::schedule_barriers</code> = yes and `Carpet::<code>sync_barriers</code> = yes` and then look at the timer output for the barriers.  </li>
</ol>
<p>In general, I would only invest time in optimising if you have profiled first.  So if you have measured that the integration loops are taking a significant amount of time, then by all means parallelise them.  They don’t scale with the grid resolution (unless you manually scale the angular resolution parameters), and I would expect interpolation to be by far the dominant cost here.</p>
<p>Having said that, since it’s just adding one pragma, maybe it’s not worth investigating too much <img class="emoji" src="https://pf-emoji-service--cdn.us-east-1.prod.public.atl-paas.net/standard/a51a7674-8d5d-4495-a2d2-a67c090f5c3b/48x48/1f642.png" alt="🙂" title=":slight_smile:" data-emoji-short-name=":slight_smile:" /> </p>
<p>‌</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2626/multipole-is-not-openmp-parallelized'>https://bitbucket.org/einsteintoolkit/tickets/issues/2626/multipole-is-not-openmp-parallelized</a></p>
</html>