|
12 | 12 | </script>
|
13 | 13 |
|
14 | 14 | <meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
15 |
| - <title>dpnp.dpnp_iface — Data Parallel Extension for NumPy 0.16.0dev0+37.g805d502181 documentation</title> |
| 15 | + <title>dpnp.dpnp_iface — Data Parallel Extension for NumPy 0.16.0dev0+38.g1a4f8a4b8f documentation</title> |
16 | 16 | <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
|
17 | 17 | <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
|
18 | 18 |
|
|
23 | 23 |
|
24 | 24 | <script src="../../_static/jquery.js?v=5d32c60e"></script>
|
25 | 25 | <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
26 |
| - <script src="../../_static/documentation_options.js?v=306ddaf9"></script> |
| 26 | + <script src="../../_static/documentation_options.js?v=f88ae17c"></script> |
27 | 27 | <script src="../../_static/doctools.js?v=9a2dae69"></script>
|
28 | 28 | <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
29 | 29 | <script src="../../_static/js/theme.js"></script>
|
|
43 | 43 | Data Parallel Extension for NumPy
|
44 | 44 | </a>
|
45 | 45 | <div class="version">
|
46 |
| - 0.16.0dev0+37.g805d502181 |
| 46 | + 0.16.0dev0+38.g1a4f8a4b8f |
47 | 47 | </div>
|
48 | 48 | <div role="search">
|
49 | 49 | <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
@@ -132,6 +132,7 @@ <h1>Source code for dpnp.dpnp_iface</h1><div class="highlight"><pre>
|
132 | 132 |
|
133 | 133 | <span class="kn">import</span> <span class="nn">dpctl</span>
|
134 | 134 | <span class="kn">import</span> <span class="nn">dpctl.tensor</span> <span class="k">as</span> <span class="nn">dpt</span>
|
| 135 | +<span class="kn">import</span> <span class="nn">dpctl.utils</span> <span class="k">as</span> <span class="nn">dpu</span> |
135 | 136 | <span class="kn">import</span> <span class="nn">numpy</span>
|
136 | 137 | <span class="kn">from</span> <span class="nn">dpctl.tensor._device</span> <span class="kn">import</span> <span class="n">normalize_queue_device</span>
|
137 | 138 |
|
@@ -159,6 +160,7 @@ <h1>Source code for dpnp.dpnp_iface</h1><div class="highlight"><pre>
|
159 | 160 | <span class="s2">"get_usm_ndarray_or_scalar"</span><span class="p">,</span>
|
160 | 161 | <span class="s2">"is_supported_array_or_scalar"</span><span class="p">,</span>
|
161 | 162 | <span class="s2">"is_supported_array_type"</span><span class="p">,</span>
|
| 163 | + <span class="s2">"synchronize_array_data"</span><span class="p">,</span> |
162 | 164 | <span class="p">]</span>
|
163 | 165 |
|
164 | 166 | <span class="kn">from</span> <span class="nn">dpnp</span> <span class="kn">import</span> <span class="n">float64</span><span class="p">,</span> <span class="n">isscalar</span>
|
@@ -336,10 +338,10 @@ <h1>Source code for dpnp.dpnp_iface</h1><div class="highlight"><pre>
|
336 | 338 | <span class="n">x1_obj</span><span class="p">,</span> <span class="n">dtype</span><span class="p">,</span> <span class="n">order</span><span class="o">=</span><span class="n">order</span><span class="p">,</span> <span class="n">casting</span><span class="o">=</span><span class="n">casting</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">,</span> <span class="n">device</span><span class="o">=</span><span class="n">device</span>
|
337 | 339 | <span class="p">)</span>
|
338 | 340 |
|
339 |
| - <span class="c1"># return x1 if dpctl returns a zero copy of x1_obj</span> |
| 341 | + <span class="n">dpnp</span><span class="o">.</span><span class="n">synchronize_array_data</span><span class="p">(</span><span class="n">x1</span><span class="p">)</span> |
340 | 342 | <span class="k">if</span> <span class="n">array_obj</span> <span class="ow">is</span> <span class="n">x1_obj</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">x1</span><span class="p">,</span> <span class="n">dpnp_array</span><span class="p">):</span>
|
| 343 | + <span class="c1"># return x1 if dpctl returns a zero copy of x1_obj</span> |
341 | 344 | <span class="k">return</span> <span class="n">x1</span>
|
342 |
| - |
343 | 345 | <span class="k">return</span> <span class="n">dpnp_array</span><span class="o">.</span><span class="n">_create_from_usm_ndarray</span><span class="p">(</span><span class="n">array_obj</span><span class="p">)</span></div>
|
344 | 346 |
|
345 | 347 |
|
@@ -804,6 +806,19 @@ <h1>Source code for dpnp.dpnp_iface</h1><div class="highlight"><pre>
|
804 | 806 | <span class="sd"> """</span>
|
805 | 807 |
|
806 | 808 | <span class="k">return</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="p">(</span><span class="n">dpnp_array</span><span class="p">,</span> <span class="n">dpt</span><span class="o">.</span><span class="n">usm_ndarray</span><span class="p">))</span>
|
| 809 | + |
| 810 | + |
| 811 | +<span class="k">def</span> <span class="nf">synchronize_array_data</span><span class="p">(</span><span class="n">a</span><span class="p">):</span> |
| 812 | +<span class="w"> </span><span class="sd">"""</span> |
| 813 | +<span class="sd"> The dpctl interface was reworked to make asynchronous execution.</span> |
| 814 | +<span class="sd"> That function makes a synchronization call to ensure array data is valid</span> |
| 815 | +<span class="sd"> before exit from dpnp interface function.</span> |
| 816 | + |
| 817 | +<span class="sd"> """</span> |
| 818 | + |
| 819 | + <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">dpu</span><span class="p">,</span> <span class="s2">"SequentialOrderManager"</span><span class="p">):</span> |
| 820 | + <span class="n">check_supported_arrays_type</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> |
| 821 | + <span class="n">dpu</span><span class="o">.</span><span class="n">SequentialOrderManager</span><span class="p">[</span><span class="n">a</span><span class="o">.</span><span class="n">sycl_queue</span><span class="p">]</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span> |
807 | 822 | </pre></div>
|
808 | 823 |
|
809 | 824 | </div>
|
|
0 commit comments