|
14 | 14 | </script>
|
15 | 15 |
|
16 | 16 | <meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
17 |
| - <title>dpnp.dpnp_iface_arraycreation — Data Parallel Extension for NumPy 0.17.0dev2+36.ge9151be6171 documentation</title> |
| 17 | + <title>dpnp.dpnp_iface_arraycreation — Data Parallel Extension for NumPy 0.17.0dev3+11.ge0769fcfb3b documentation</title> |
18 | 18 | <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
|
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=c70b70db"></script> |
| 24 | + <script src="../../_static/documentation_options.js?v=fdd2f116"></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>
|
@@ -160,6 +160,7 @@ <h1>Source code for dpnp.dpnp_iface_arraycreation</h1><div class="highlight"><pr
|
160 | 160 | <span class="s2">"fromfunction"</span><span class="p">,</span>
|
161 | 161 | <span class="s2">"fromiter"</span><span class="p">,</span>
|
162 | 162 | <span class="s2">"fromstring"</span><span class="p">,</span>
|
| 163 | + <span class="s2">"from_dlpack"</span><span class="p">,</span> |
163 | 164 | <span class="s2">"full"</span><span class="p">,</span>
|
164 | 165 | <span class="s2">"full_like"</span><span class="p">,</span>
|
165 | 166 | <span class="s2">"geomspace"</span><span class="p">,</span>
|
@@ -2183,6 +2184,96 @@ <h1>Source code for dpnp.dpnp_iface_arraycreation</h1><div class="highlight"><pr
|
2183 | 2184 |
|
2184 | 2185 |
|
2185 | 2186 |
|
| 2187 | +<div class="viewcode-block" id="from_dlpack"> |
| 2188 | +<a class="viewcode-back" href="../../reference/generated/dpnp.from_dlpack.html#dpnp.from_dlpack">[docs]</a> |
| 2189 | +<span class="k">def</span> <span class="nf">from_dlpack</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="o">/</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span> <span class="n">device</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> |
| 2190 | +<span class="w"> </span><span class="sd">"""</span> |
| 2191 | +<span class="sd"> Constructs :class:`dpnp.ndarray` or :class:`numpy.ndarray` instance from</span> |
| 2192 | +<span class="sd"> a Python object `x` that implements ``__dlpack__`` protocol.</span> |
| 2193 | + |
| 2194 | +<span class="sd"> For full documentation refer to :obj:`numpy.from_dlpack`.</span> |
| 2195 | + |
| 2196 | +<span class="sd"> Parameters</span> |
| 2197 | +<span class="sd"> ----------</span> |
| 2198 | +<span class="sd"> x : object</span> |
| 2199 | +<span class="sd"> A Python object representing an array that implements the ``__dlpack__``</span> |
| 2200 | +<span class="sd"> and ``__dlpack_device__`` methods.</span> |
| 2201 | +<span class="sd"> device : {None, string, tuple, device}, optional</span> |
| 2202 | +<span class="sd"> Device where the output array is to be placed. `device` keyword values</span> |
| 2203 | +<span class="sd"> can be:</span> |
| 2204 | + |
| 2205 | +<span class="sd"> * ``None`` : The data remains on the same device.</span> |
| 2206 | +<span class="sd"> * oneAPI filter selector string : SYCL device selected by filter</span> |
| 2207 | +<span class="sd"> selector string.</span> |
| 2208 | +<span class="sd"> * :class:`dpctl.SyclDevice` : Explicit SYCL device that must correspond</span> |
| 2209 | +<span class="sd"> to a non-partitioned SYCL device.</span> |
| 2210 | +<span class="sd"> * :class:`dpctl.SyclQueue` : Implies SYCL device targeted by the SYCL</span> |
| 2211 | +<span class="sd"> queue.</span> |
| 2212 | +<span class="sd"> * :class:`dpctl.tensor.Device` : Implies SYCL device</span> |
| 2213 | +<span class="sd"> ``device.sycl_queue``. The `device` object is obtained via</span> |
| 2214 | +<span class="sd"> :attr:`dpctl.tensor.usm_ndarray.device`.</span> |
| 2215 | +<span class="sd"> * ``(device_type, device_id)`` : 2-tuple matching the format of the</span> |
| 2216 | +<span class="sd"> output of the ``__dlpack_device__`` method: an integer enumerator</span> |
| 2217 | +<span class="sd"> representing the device type followed by an integer representing</span> |
| 2218 | +<span class="sd"> the index of the device. The only supported :class:`dpnp.DLDeviceType`</span> |
| 2219 | +<span class="sd"> device types are ``"kDLCPU"`` and ``"kDLOneAPI"``.</span> |
| 2220 | + |
| 2221 | +<span class="sd"> Default: ``None``.</span> |
| 2222 | +<span class="sd"> copy : {bool, None}, optional</span> |
| 2223 | +<span class="sd"> Boolean indicating whether or not to copy the input.</span> |
| 2224 | + |
| 2225 | +<span class="sd"> * If `copy` is ``True``, the input will always be copied.</span> |
| 2226 | +<span class="sd"> * If ``False``, a ``BufferError`` will be raised if a copy is deemed</span> |
| 2227 | +<span class="sd"> necessary.</span> |
| 2228 | +<span class="sd"> * If ``None``, a copy will be made only if deemed necessary, otherwise,</span> |
| 2229 | +<span class="sd"> the existing memory buffer will be reused.</span> |
| 2230 | + |
| 2231 | +<span class="sd"> Default: ``None``.</span> |
| 2232 | + |
| 2233 | +<span class="sd"> Returns</span> |
| 2234 | +<span class="sd"> -------</span> |
| 2235 | +<span class="sd"> out : {dpnp.ndarray, numpy.ndarray}</span> |
| 2236 | +<span class="sd"> An array containing the data in `x`. When `copy` is ``None`` or</span> |
| 2237 | +<span class="sd"> ``False``, this may be a view into the original memory.</span> |
| 2238 | +<span class="sd"> The type of the returned object depends on where the data backing up</span> |
| 2239 | +<span class="sd"> input object `x` resides. If it resides in a USM allocation on a SYCL</span> |
| 2240 | +<span class="sd"> device, the type :class:`dpnp.ndarray` is returned, otherwise if it</span> |
| 2241 | +<span class="sd"> resides on ``"kDLCPU"`` device the type is :class:`numpy.ndarray`, and</span> |
| 2242 | +<span class="sd"> otherwise an exception is raised.</span> |
| 2243 | + |
| 2244 | +<span class="sd"> Raises</span> |
| 2245 | +<span class="sd"> ------</span> |
| 2246 | +<span class="sd"> TypeError</span> |
| 2247 | +<span class="sd"> if `obj` does not implement ``__dlpack__`` method</span> |
| 2248 | +<span class="sd"> ValueError</span> |
| 2249 | +<span class="sd"> if data of the input object resides on an unsupported device</span> |
| 2250 | + |
| 2251 | +<span class="sd"> Notes</span> |
| 2252 | +<span class="sd"> -----</span> |
| 2253 | +<span class="sd"> If the return type is :class:`dpnp.ndarray`, the associated SYCL queue is</span> |
| 2254 | +<span class="sd"> derived from the `device` keyword. When `device` keyword value has type</span> |
| 2255 | +<span class="sd"> :class:`dpctl.SyclQueue`, the explicit queue instance is used, when `device`</span> |
| 2256 | +<span class="sd"> keyword value has type :class:`dpctl.tensor.Device`, the</span> |
| 2257 | +<span class="sd"> ``device.sycl_queue`` is used. In all other cases, the cached SYCL queue</span> |
| 2258 | +<span class="sd"> corresponding to the implied SYCL device is used.</span> |
| 2259 | + |
| 2260 | +<span class="sd"> Examples</span> |
| 2261 | +<span class="sd"> --------</span> |
| 2262 | +<span class="sd"> >>> import dpnp as np</span> |
| 2263 | +<span class="sd"> >>> import numpy</span> |
| 2264 | +<span class="sd"> >>> x = numpy.arange(10)</span> |
| 2265 | +<span class="sd"> >>> # create a view of the numpy array "x" in dpnp:</span> |
| 2266 | +<span class="sd"> >>> y = np.from_dlpack(x)</span> |
| 2267 | + |
| 2268 | +<span class="sd"> """</span> |
| 2269 | + |
| 2270 | + <span class="n">result</span> <span class="o">=</span> <span class="n">dpt</span><span class="o">.</span><span class="n">from_dlpack</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">device</span><span class="o">=</span><span class="n">device</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="n">copy</span><span class="p">)</span> |
| 2271 | + <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">dpt</span><span class="o">.</span><span class="n">usm_ndarray</span><span class="p">):</span> |
| 2272 | + <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">result</span><span class="p">)</span> |
| 2273 | + <span class="k">return</span> <span class="n">result</span></div> |
| 2274 | + |
| 2275 | + |
| 2276 | + |
2186 | 2277 | <div class="viewcode-block" id="full">
|
2187 | 2278 | <a class="viewcode-back" href="../../reference/generated/dpnp.full.html#dpnp.full">[docs]</a>
|
2188 | 2279 | <span class="k">def</span> <span class="nf">full</span><span class="p">(</span>
|
|
0 commit comments