|
14 | 14 | </script>
|
15 | 15 |
|
16 | 16 | <meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
17 |
| - <title>dpnp.dpnp_array — Data Parallel Extension for NumPy 0.17.0dev3+49.gfe74bf2f2b5 documentation</title> |
| 17 | + <title>dpnp.dpnp_array — Data Parallel Extension for NumPy 0.17.0dev3+59.g1b6f9d73140 documentation</title> |
18 | 18 | <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
|
19 | 19 | <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
|
20 | 20 |
|
21 | 21 |
|
22 | 22 | <script src="../../_static/jquery.js?v=5d32c60e"></script>
|
23 | 23 | <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
24 |
| - <script src="../../_static/documentation_options.js?v=826d7e35"></script> |
| 24 | + <script src="../../_static/documentation_options.js?v=f139f4d7"></script> |
25 | 25 | <script src="../../_static/doctools.js?v=9bcbadda"></script>
|
26 | 26 | <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
27 | 27 | <script src="../../_static/js/theme.js"></script>
|
@@ -181,6 +181,7 @@ <h1>Source code for dpnp.dpnp_array</h1><div class="highlight"><pre>
|
181 | 181 | <span class="n">offset</span><span class="o">=</span><span class="n">offset</span><span class="p">,</span>
|
182 | 182 | <span class="n">order</span><span class="o">=</span><span class="n">order</span><span class="p">,</span>
|
183 | 183 | <span class="n">buffer_ctor_kwargs</span><span class="o">=</span><span class="p">{</span><span class="s2">"queue"</span><span class="p">:</span> <span class="n">sycl_queue_normalized</span><span class="p">},</span>
|
| 184 | + <span class="n">array_namespace</span><span class="o">=</span><span class="n">dpnp</span><span class="p">,</span> |
184 | 185 | <span class="p">)</span>
|
185 | 186 |
|
186 | 187 | <span class="nd">@property</span>
|
@@ -294,6 +295,31 @@ <h1>Source code for dpnp.dpnp_array</h1><div class="highlight"><pre>
|
294 | 295 | <span class="c1"># '__array_ufunc__',</span>
|
295 | 296 | <span class="c1"># '__array_wrap__',</span>
|
296 | 297 |
|
| 298 | + <span class="k">def</span><span class="w"> </span><span class="nf">__array_namespace__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">/</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span> <span class="n">api_version</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> |
| 299 | +<span class="w"> </span><span class="sd">"""</span> |
| 300 | +<span class="sd"> Returns array namespace, member functions of which implement data API.</span> |
| 301 | + |
| 302 | +<span class="sd"> Parameters</span> |
| 303 | +<span class="sd"> ----------</span> |
| 304 | +<span class="sd"> api_version : str, optional</span> |
| 305 | +<span class="sd"> Request namespace compliant with given version of array API. If</span> |
| 306 | +<span class="sd"> ``None``, namespace for the most recent supported version is</span> |
| 307 | +<span class="sd"> returned.</span> |
| 308 | +<span class="sd"> Default: ``None``.</span> |
| 309 | + |
| 310 | +<span class="sd"> Returns</span> |
| 311 | +<span class="sd"> -------</span> |
| 312 | +<span class="sd"> out : any</span> |
| 313 | +<span class="sd"> An object representing the array API namespace. It should have</span> |
| 314 | +<span class="sd"> every top-level function defined in the specification as</span> |
| 315 | +<span class="sd"> an attribute. It may contain other public names as well, but it is</span> |
| 316 | +<span class="sd"> recommended to only include those names that are part of the</span> |
| 317 | +<span class="sd"> specification.</span> |
| 318 | + |
| 319 | +<span class="sd"> """</span> |
| 320 | + |
| 321 | + <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_array_obj</span><span class="o">.</span><span class="n">__array_namespace__</span><span class="p">(</span><span class="n">api_version</span><span class="o">=</span><span class="n">api_version</span><span class="p">)</span> |
| 322 | + |
297 | 323 | <span class="k">def</span><span class="w"> </span><span class="fm">__bool__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
298 | 324 | <span class="w"> </span><span class="sd">"""``True`` if self else ``False``."""</span>
|
299 | 325 | <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_array_obj</span><span class="o">.</span><span class="fm">__bool__</span><span class="p">()</span>
|
@@ -420,15 +446,7 @@ <h1>Source code for dpnp.dpnp_array</h1><div class="highlight"><pre>
|
420 | 446 | <span class="n">key</span> <span class="o">=</span> <span class="n">_get_unwrapped_index_key</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
421 | 447 |
|
422 | 448 | <span class="n">item</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_array_obj</span><span class="o">.</span><span class="fm">__getitem__</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
423 |
| - <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">dpt</span><span class="o">.</span><span class="n">usm_ndarray</span><span class="p">):</span> |
424 |
| - <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span> |
425 |
| - <span class="s2">"Expected dpctl.tensor.usm_ndarray, got </span><span class="si">{}</span><span class="s2">"</span> |
426 |
| - <span class="s2">""</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">item</span><span class="p">))</span> |
427 |
| - <span class="p">)</span> |
428 |
| - |
429 |
| - <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> |
430 |
| - <span class="n">res</span><span class="o">.</span><span class="n">_array_obj</span> <span class="o">=</span> <span class="n">item</span> |
431 |
| - <span class="k">return</span> <span class="n">res</span> |
| 449 | + <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">item</span><span class="p">)</span> |
432 | 450 |
|
433 | 451 | <span class="c1"># '__getstate__',</span>
|
434 | 452 |
|
@@ -474,7 +492,7 @@ <h1>Source code for dpnp.dpnp_array</h1><div class="highlight"><pre>
|
474 | 492 | <span class="n">axes</span> <span class="o">=</span> <span class="p">[(</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">),</span> <span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">),</span> <span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)]</span>
|
475 | 493 |
|
476 | 494 | <span class="k">try</span><span class="p">:</span>
|
477 |
| - <span class="n">dpnp</span><span class="o">.</span><span class="n">matmul</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">axes</span><span class="o">=</span><span class="n">axes</span><span class="p">)</span> |
| 495 | + <span class="n">dpnp</span><span class="o">.</span><span class="n">matmul</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dtype</span><span class="p">,</span> <span class="n">axes</span><span class="o">=</span><span class="n">axes</span><span class="p">)</span> |
478 | 496 | <span class="k">except</span> <span class="n">AxisError</span><span class="p">:</span>
|
479 | 497 | <span class="c1"># AxisError should indicate that the axes argument didn't work out</span>
|
480 | 498 | <span class="c1"># which should mean the second operand not being 2 dimensional.</span>
|
@@ -699,6 +717,7 @@ <h1>Source code for dpnp.dpnp_array</h1><div class="highlight"><pre>
|
699 | 717 | <span class="p">)</span>
|
700 | 718 | <span class="n">res</span> <span class="o">=</span> <span class="n">dpnp_array</span><span class="o">.</span><span class="fm">__new__</span><span class="p">(</span><span class="n">dpnp_array</span><span class="p">)</span>
|
701 | 719 | <span class="n">res</span><span class="o">.</span><span class="n">_array_obj</span> <span class="o">=</span> <span class="n">usm_ary</span>
|
| 720 | + <span class="n">res</span><span class="o">.</span><span class="n">_array_obj</span><span class="o">.</span><span class="n">_set_namespace</span><span class="p">(</span><span class="n">dpnp</span><span class="p">)</span> |
702 | 721 | <span class="k">return</span> <span class="n">res</span>
|
703 | 722 |
|
704 | 723 | <div class="viewcode-block" id="dpnp_array.all">
|
@@ -1961,17 +1980,16 @@ <h1>Source code for dpnp.dpnp_array</h1><div class="highlight"><pre>
|
1961 | 1980 | <span class="k">if</span> <span class="n">axes_len</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">axes</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="p">(</span><span class="nb">tuple</span><span class="p">,</span> <span class="nb">list</span><span class="p">)):</span>
|
1962 | 1981 | <span class="n">axes</span> <span class="o">=</span> <span class="n">axes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
1963 | 1982 |
|
1964 |
| - <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> |
1965 | 1983 | <span class="k">if</span> <span class="n">ndim</span> <span class="o">==</span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">axes_len</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
1966 |
| - <span class="n">res</span><span class="o">.</span><span class="n">_array_obj</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_array_obj</span><span class="o">.</span><span class="n">T</span> |
| 1984 | + <span class="n">usm_res</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_array_obj</span><span class="o">.</span><span class="n">T</span> |
1967 | 1985 | <span class="k">else</span><span class="p">:</span>
|
1968 | 1986 | <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">axes</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">axes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
1969 | 1987 | <span class="c1"># self.transpose().shape == self.shape[::-1]</span>
|
1970 | 1988 | <span class="c1"># self.transpose(None).shape == self.shape[::-1]</span>
|
1971 | 1989 | <span class="n">axes</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">((</span><span class="n">ndim</span> <span class="o">-</span> <span class="n">x</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">ndim</span><span class="p">))</span>
|
1972 | 1990 |
|
1973 |
| - <span class="n">res</span><span class="o">.</span><span class="n">_array_obj</span> <span class="o">=</span> <span class="n">dpt</span><span class="o">.</span><span class="n">permute_dims</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_array_obj</span><span class="p">,</span> <span class="n">axes</span><span class="p">)</span> |
1974 |
| - <span class="k">return</span> <span class="n">res</span></div> |
| 1991 | + <span class="n">usm_res</span> <span class="o">=</span> <span class="n">dpt</span><span class="o">.</span><span class="n">permute_dims</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_array_obj</span><span class="p">,</span> <span class="n">axes</span><span class="p">)</span> |
| 1992 | + <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">usm_res</span><span class="p">)</span></div> |
1975 | 1993 |
|
1976 | 1994 |
|
1977 | 1995 | <div class="viewcode-block" id="dpnp_array.var">
|
|
0 commit comments