Skip to content

Commit

Permalink
Doc: Add spack variant for MPI GPU support (#1102)
Browse files Browse the repository at this point in the history
  • Loading branch information
rasolca committed Mar 4, 2024
1 parent d385c92 commit 0a9dcb1
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1405,7 +1405,7 @@
<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; <span class="comment">// * Why is it different between MC and GPU?</span></div>
<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; <span class="comment">// As said above, the problem is related to the communication. But the communication is not said</span></div>
<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; <span class="comment">// to be an atomic operation happening in a single task. It might have to create a copy to</span></div>
<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <span class="comment">// a buffer more suitable for the communication (e.g. GPU -&gt; CPU if MPI GPU support is not</span></div>
<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <span class="comment">// a buffer more suitable for the communication (e.g. GPU -&gt; CPU if GPU-aware MPI is not</span></div>
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; <span class="comment">// available).</span></div>
<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; <span class="comment">// And in order to not be blocked, it must be ensured that the actual communication task has</span></div>
Expand Down
8 changes: 4 additions & 4 deletions master/kernels_2broadcast_8h_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">namespace </span>internal {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T, Device D&gt;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keywordtype">void</span> sendBcast(<span class="keyword">const</span> Communicator&amp; comm, <span class="keyword">const</span> matrix::Tile&lt;const T, D&gt;&amp; tile, MPI_Request* req) {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#if !defined(DLAF_WITH_MPI_GPU_SUPPORT)</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; static_assert(D == Device::CPU, <span class="stringliteral">&quot;DLAF_WITH_MPI_GPU_SUPPORT=off, MPI accepts only CPU memory.&quot;</span>);</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#if !defined(DLAF_WITH_MPI_GPU_AWARE)</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; static_assert(D == Device::CPU, <span class="stringliteral">&quot;DLAF_WITH_MPI_GPU_AWARE=off, MPI accepts only CPU memory.&quot;</span>);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">auto</span> msg = comm::make_message(common::make_data(tile));</div>
Expand All @@ -116,8 +116,8 @@
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T, Device D&gt;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keywordtype">void</span> recvBcast(<span class="keyword">const</span> Communicator&amp; comm, comm::IndexT_MPI root_rank, <span class="keyword">const</span> matrix::Tile&lt;T, D&gt;&amp; tile,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; MPI_Request* req) {</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#if !defined(DLAF_WITH_MPI_GPU_SUPPORT)</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; static_assert(D == Device::CPU, <span class="stringliteral">&quot;DLAF_WITH_MPI_GPU_SUPPORT=off, MPI accepts only CPU memory.&quot;</span>);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#if !defined(DLAF_WITH_MPI_GPU_AWARE)</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; static_assert(D == Device::CPU, <span class="stringliteral">&quot;DLAF_WITH_MPI_GPU_AWARE=off, MPI accepts only CPU memory.&quot;</span>);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">auto</span> msg = comm::make_message(common::make_data(tile));</div>
Expand Down
2 changes: 1 addition & 1 deletion master/rdma_8h_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keyword">static</span> constexpr Device value = D;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;};</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#if defined(DLAF_WITH_GPU) &amp;&amp; !defined(DLAF_WITH_MPI_GPU_SUPPORT)</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#if defined(DLAF_WITH_GPU) &amp;&amp; !defined(DLAF_WITH_MPI_GPU_AWARE)</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structdlaf_1_1comm_1_1_communication_device_3_01_device_1_1_g_p_u_01_4.html"> 33</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structdlaf_1_1comm_1_1_communication_device.html">CommunicationDevice</a>&lt;Device::GPU&gt; {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">static</span> constexpr Device value = Device::CPU;</div>
Expand Down
2 changes: 1 addition & 1 deletion master/structdlaf_1_1comm_1_1_communication_device.html
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
struct dlaf::comm::CommunicationDevice&lt; D &gt;</h3>

<p>Helper struct for determining the device to use for communication.</p>
<p>Contains a static value member, which will always be D if MPI GPU support is enabled. If MPI GPU support is disabled, the value will always be Device::CPU. </p>
<p>Contains a static value member, which will always be D if GPU-aware MPI is enabled. If GPU-aware MPI is disabled, the value will always be Device::CPU. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>/home/runner/work/DLA-Future/DLA-Future/include/dlaf/communication/<a class="el" href="rdma_8h_source.html">rdma.h</a></li>
</ul>
Expand Down

0 comments on commit 0a9dcb1

Please sign in to comment.