Skip to content

Commit 9c947b3

Browse files
Adopt dpnp interface to asynchronous dpctl execution (Part #1) (#1897)
* Update manipulation functions * Update functions from the array creation container * Update dpnp array methods * Implement backward compatible solution * dpnp.meshgrid has to follow CFD and prohibit input arrays allocating on different SYCL queues * updated linspace, logspace and geomspace functions * Updated elementwise functions and astype * Updated counting and histogram functions * Switched back to use dppy/label/dev for coverage GH action * Removed dpnp_container.linspace since unused * Return dpnp ndarray for linspace, logspace and geomspace internal functions 1a4f8a4
1 parent b5d41da commit 9c947b3

File tree

495 files changed

+1651
-1549
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

495 files changed

+1651
-1549
lines changed

.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: 3b970c104dcbfd302c79b053c39d1e20
3+
config: ec8de9f4df03890fc9c8a62eeb236f62
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

_modules/dpnp/dpnp_array.html

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</script>
1313

1414
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
15-
<title>dpnp.dpnp_array &mdash; Data Parallel Extension for NumPy 0.16.0dev0+37.g805d502181 documentation</title>
15+
<title>dpnp.dpnp_array &mdash; Data Parallel Extension for NumPy 0.16.0dev0+38.g1a4f8a4b8f documentation</title>
1616
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
1717
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
1818

@@ -23,7 +23,7 @@
2323

2424
<script src="../../_static/jquery.js?v=5d32c60e"></script>
2525
<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>
2727
<script src="../../_static/doctools.js?v=9a2dae69"></script>
2828
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
2929
<script src="../../_static/js/theme.js"></script>
@@ -43,7 +43,7 @@
4343
Data Parallel Extension for NumPy
4444
</a>
4545
<div class="version">
46-
0.16.0dev0+37.g805d502181
46+
0.16.0dev0+38.g1a4f8a4b8f
4747
</div>
4848
<div role="search">
4949
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
@@ -364,6 +364,8 @@ <h1>Source code for dpnp.dpnp_array</h1><div class="highlight"><pre>
364364
<span class="n">res</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__new__</span><span class="p">(</span><span class="n">dpnp_array</span><span class="p">)</span>
365365
<span class="n">res</span><span class="o">.</span><span class="n">_array_obj</span> <span class="o">=</span> <span class="n">item</span>
366366

367+
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_array_obj</span><span class="o">.</span><span class="n">usm_data</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">res</span><span class="o">.</span><span class="n">_array_obj</span><span class="o">.</span><span class="n">usm_data</span><span class="p">:</span>
368+
<span class="n">dpnp</span><span class="o">.</span><span class="n">synchronize_array_data</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
367369
<span class="k">return</span> <span class="n">res</span></div>
368370

369371

@@ -577,7 +579,8 @@ <h1>Source code for dpnp.dpnp_array</h1><div class="highlight"><pre>
577579
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">val</span><span class="p">,</span> <span class="n">dpnp_array</span><span class="p">):</span>
578580
<span class="n">val</span> <span class="o">=</span> <span class="n">val</span><span class="o">.</span><span class="n">get_array</span><span class="p">()</span>
579581

580-
<span class="bp">self</span><span class="o">.</span><span class="n">_array_obj</span><span class="o">.</span><span class="fm">__setitem__</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span></div>
582+
<span class="bp">self</span><span class="o">.</span><span class="n">_array_obj</span><span class="o">.</span><span class="fm">__setitem__</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span>
583+
<span class="n">dpnp</span><span class="o">.</span><span class="n">synchronize_array_data</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span></div>
581584

582585

583586
<span class="c1"># &#39;__setstate__&#39;,</span>

_modules/dpnp/dpnp_flatiter.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</script>
1313

1414
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
15-
<title>dpnp.dpnp_flatiter &mdash; Data Parallel Extension for NumPy 0.16.0dev0+37.g805d502181 documentation</title>
15+
<title>dpnp.dpnp_flatiter &mdash; Data Parallel Extension for NumPy 0.16.0dev0+38.g1a4f8a4b8f documentation</title>
1616
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
1717
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
1818

@@ -23,7 +23,7 @@
2323

2424
<script src="../../_static/jquery.js?v=5d32c60e"></script>
2525
<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>
2727
<script src="../../_static/doctools.js?v=9a2dae69"></script>
2828
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
2929
<script src="../../_static/js/theme.js"></script>
@@ -43,7 +43,7 @@
4343
Data Parallel Extension for NumPy
4444
</a>
4545
<div class="version">
46-
0.16.0dev0+37.g805d502181
46+
0.16.0dev0+38.g1a4f8a4b8f
4747
</div>
4848
<div role="search">
4949
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">

_modules/dpnp/dpnp_iface.html

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</script>
1313

1414
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
15-
<title>dpnp.dpnp_iface &mdash; Data Parallel Extension for NumPy 0.16.0dev0+37.g805d502181 documentation</title>
15+
<title>dpnp.dpnp_iface &mdash; Data Parallel Extension for NumPy 0.16.0dev0+38.g1a4f8a4b8f documentation</title>
1616
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
1717
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
1818

@@ -23,7 +23,7 @@
2323

2424
<script src="../../_static/jquery.js?v=5d32c60e"></script>
2525
<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>
2727
<script src="../../_static/doctools.js?v=9a2dae69"></script>
2828
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
2929
<script src="../../_static/js/theme.js"></script>
@@ -43,7 +43,7 @@
4343
Data Parallel Extension for NumPy
4444
</a>
4545
<div class="version">
46-
0.16.0dev0+37.g805d502181
46+
0.16.0dev0+38.g1a4f8a4b8f
4747
</div>
4848
<div role="search">
4949
<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>
132132

133133
<span class="kn">import</span> <span class="nn">dpctl</span>
134134
<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>
135136
<span class="kn">import</span> <span class="nn">numpy</span>
136137
<span class="kn">from</span> <span class="nn">dpctl.tensor._device</span> <span class="kn">import</span> <span class="n">normalize_queue_device</span>
137138

@@ -159,6 +160,7 @@ <h1>Source code for dpnp.dpnp_iface</h1><div class="highlight"><pre>
159160
<span class="s2">&quot;get_usm_ndarray_or_scalar&quot;</span><span class="p">,</span>
160161
<span class="s2">&quot;is_supported_array_or_scalar&quot;</span><span class="p">,</span>
161162
<span class="s2">&quot;is_supported_array_type&quot;</span><span class="p">,</span>
163+
<span class="s2">&quot;synchronize_array_data&quot;</span><span class="p">,</span>
162164
<span class="p">]</span>
163165

164166
<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>
336338
<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>
337339
<span class="p">)</span>
338340

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>
340342
<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>
341344
<span class="k">return</span> <span class="n">x1</span>
342-
343345
<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>
344346

345347

@@ -804,6 +806,19 @@ <h1>Source code for dpnp.dpnp_iface</h1><div class="highlight"><pre>
804806
<span class="sd"> &quot;&quot;&quot;</span>
805807

806808
<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">&quot;&quot;&quot;</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"> &quot;&quot;&quot;</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">&quot;SequentialOrderManager&quot;</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>
807822
</pre></div>
808823

809824
</div>

0 commit comments

Comments
 (0)