|
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.0dev4+6.gb83cb492ce3 documentation</title> |
| 17 | + <title>dpnp.dpnp_array — Data Parallel Extension for NumPy 0.17.0dev4+12.g03b3e9896a1 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=e69c7dc4"></script> |
| 24 | + <script src="../../_static/documentation_options.js?v=6ad8a8ef"></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>
|
@@ -243,16 +243,6 @@ <h1>Source code for dpnp.dpnp_array</h1><div class="highlight"><pre>
|
243 | 243 |
|
244 | 244 | <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="bp">self</span><span class="o">.</span><span class="n">_array_obj</span><span class="o">.</span><span class="n">mT</span><span class="p">)</span>
|
245 | 245 |
|
246 |
| -<div class="viewcode-block" id="dpnp_array.to_device"> |
247 |
| -<a class="viewcode-back" href="../../reference/generated/dpnp.dpnp_array.dpnp_array.to_device.html#dpnp.dpnp_array.dpnp_array.to_device">[docs]</a> |
248 |
| - <span class="k">def</span><span class="w"> </span><span class="nf">to_device</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">target_device</span><span class="p">):</span> |
249 |
| -<span class="w"> </span><span class="sd">"""Transfer array to target device."""</span> |
250 |
| - |
251 |
| - <span class="k">return</span> <span class="n">dpnp_array</span><span class="p">(</span> |
252 |
| - <span class="n">shape</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">buffer</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">get_array</span><span class="p">()</span><span class="o">.</span><span class="n">to_device</span><span class="p">(</span><span class="n">target_device</span><span class="p">)</span> |
253 |
| - <span class="p">)</span></div> |
254 |
| - |
255 |
| - |
256 | 246 | <span class="nd">@property</span>
|
257 | 247 | <span class="k">def</span><span class="w"> </span><span class="nf">sycl_queue</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
258 | 248 | <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">sycl_queue</span>
|
@@ -705,6 +695,25 @@ <h1>Source code for dpnp.dpnp_array</h1><div class="highlight"><pre>
|
705 | 695 | <span class="w"> </span><span class="sd">"""Return ``self/value``."""</span>
|
706 | 696 | <span class="k">return</span> <span class="n">dpnp</span><span class="o">.</span><span class="n">true_divide</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span>
|
707 | 697 |
|
| 698 | + <span class="nd">@property</span> |
| 699 | + <span class="k">def</span><span class="w"> </span><span class="nf">__usm_ndarray__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| 700 | +<span class="w"> </span><span class="sd">"""</span> |
| 701 | +<span class="sd"> Property to support `__usm_ndarray__` protocol.</span> |
| 702 | + |
| 703 | +<span class="sd"> It assumes to return :class:`dpctl.tensor.usm_ndarray` instance</span> |
| 704 | +<span class="sd"> corresponding to the content of the object.</span> |
| 705 | + |
| 706 | +<span class="sd"> This property is intended to speed-up conversion from</span> |
| 707 | +<span class="sd"> :class:`dpnp.ndarray` to :class:`dpctl.tensor.usm_ndarray` passed</span> |
| 708 | +<span class="sd"> into `dpctl.tensor.asarray` function. The input object that implements</span> |
| 709 | +<span class="sd"> `__usm_ndarray__` protocol is recognized as owner of USM allocation</span> |
| 710 | +<span class="sd"> that is managed by a smart pointer, and asynchronous deallocation</span> |
| 711 | +<span class="sd"> will not involve GIL.</span> |
| 712 | + |
| 713 | +<span class="sd"> """</span> |
| 714 | + |
| 715 | + <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_array_obj</span> |
| 716 | + |
708 | 717 | <span class="k">def</span><span class="w"> </span><span class="fm">__xor__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
|
709 | 718 | <span class="w"> </span><span class="sd">"""Return ``self^value``."""</span>
|
710 | 719 | <span class="k">return</span> <span class="n">dpnp</span><span class="o">.</span><span class="n">bitwise_xor</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span>
|
@@ -1900,6 +1909,51 @@ <h1>Source code for dpnp.dpnp_array</h1><div class="highlight"><pre>
|
1900 | 1909 | <span class="k">return</span> <span class="n">dpnp</span><span class="o">.</span><span class="n">take</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">indices</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="n">axis</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="n">out</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="n">mode</span><span class="p">)</span></div>
|
1901 | 1910 |
|
1902 | 1911 |
|
| 1912 | +<div class="viewcode-block" id="dpnp_array.to_device"> |
| 1913 | +<a class="viewcode-back" href="../../reference/generated/dpnp.dpnp_array.dpnp_array.to_device.html#dpnp.dpnp_array.dpnp_array.to_device">[docs]</a> |
| 1914 | + <span class="k">def</span><span class="w"> </span><span class="nf">to_device</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">device</span><span class="p">,</span> <span class="o">/</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span> <span class="n">stream</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> |
| 1915 | +<span class="w"> </span><span class="sd">"""</span> |
| 1916 | +<span class="sd"> Transfers this array to specified target device.</span> |
| 1917 | + |
| 1918 | +<span class="sd"> Parameters</span> |
| 1919 | +<span class="sd"> ----------</span> |
| 1920 | +<span class="sd"> device : {string, SyclDevice, SyclQueue}</span> |
| 1921 | +<span class="sd"> Array API concept of target device. It can be an OneAPI filter</span> |
| 1922 | +<span class="sd"> selector string, an instance of :class:`dpctl.SyclDevice`</span> |
| 1923 | +<span class="sd"> corresponding to a non-partitioned SYCL device, an instance of</span> |
| 1924 | +<span class="sd"> :class:`dpctl.SyclQueue`, or a :class:`dpctl.tensor.Device` object</span> |
| 1925 | +<span class="sd"> returned by :obj:`dpnp.dpnp_array.dpnp_array.device` property.</span> |
| 1926 | +<span class="sd"> stream : {SyclQueue, None}, optional</span> |
| 1927 | +<span class="sd"> Execution queue to synchronize with. If ``None``, synchronization</span> |
| 1928 | +<span class="sd"> is not performed.</span> |
| 1929 | +<span class="sd"> Default: ``None``.</span> |
| 1930 | + |
| 1931 | +<span class="sd"> Returns</span> |
| 1932 | +<span class="sd"> -------</span> |
| 1933 | +<span class="sd"> out : dpnp.ndarray</span> |
| 1934 | +<span class="sd"> A view if data copy is not required, and a copy otherwise.</span> |
| 1935 | +<span class="sd"> If copying is required, it is done by copying from the original</span> |
| 1936 | +<span class="sd"> allocation device to the host, followed by copying from host</span> |
| 1937 | +<span class="sd"> to the target device.</span> |
| 1938 | + |
| 1939 | +<span class="sd"> Examples</span> |
| 1940 | +<span class="sd"> --------</span> |
| 1941 | +<span class="sd"> >>> import dpnp as np, dpctl</span> |
| 1942 | +<span class="sd"> >>> x = np.full(100, 2, dtype=np.int64)</span> |
| 1943 | +<span class="sd"> >>> q_prof = dpctl.SyclQueue(x.sycl_device, property="enable_profiling")</span> |
| 1944 | +<span class="sd"> >>> # return a view with profile-enabled queue</span> |
| 1945 | +<span class="sd"> >>> y = x.to_device(q_prof)</span> |
| 1946 | +<span class="sd"> >>> timer = dpctl.SyclTimer()</span> |
| 1947 | +<span class="sd"> >>> with timer(q_prof):</span> |
| 1948 | +<span class="sd"> ... z = y * y</span> |
| 1949 | +<span class="sd"> >>> print(timer.dt)</span> |
| 1950 | + |
| 1951 | +<span class="sd"> """</span> |
| 1952 | + |
| 1953 | + <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">to_device</span><span class="p">(</span><span class="n">device</span><span class="p">,</span> <span class="n">stream</span><span class="o">=</span><span class="n">stream</span><span class="p">)</span> |
| 1954 | + <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> |
| 1955 | + |
| 1956 | + |
1903 | 1957 | <span class="c1"># 'tobytes',</span>
|
1904 | 1958 | <span class="c1"># 'tofile',</span>
|
1905 | 1959 | <span class="c1"># 'tolist',</span>
|
|
0 commit comments