123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="generator" content="rustdoc">
- <meta name="description" content="API documentation for the Rust `Kernel` struct in crate `ocl`.">
- <meta name="keywords" content="rust, rustlang, rust-lang, Kernel">
- <title>ocl::Kernel - Rust</title>
- <link rel="stylesheet" type="text/css" href="../normalize.css">
- <link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
-
- <link rel="stylesheet" type="text/css" href="../dark.css">
- <link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
- <script src="../storage.js"></script>
-
-
-
- </head>
- <body class="rustdoc struct">
- <!--[if lte IE 8]>
- <div class="warning">
- This old browser is unsupported and will most likely display funky
- things.
- </div>
- <![endif]-->
-
- <nav class="sidebar">
- <div class="sidebar-menu">☰</div>
-
- <p class='location'>Struct Kernel</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.builder">builder</a><a href="#method.named_arg_idx">named_arg_idx</a><a href="#method.set_arg_unchecked">set_arg_unchecked</a><a href="#method.set_arg">set_arg</a><a href="#method.set_arg_buf_named">set_arg_buf_named</a><a href="#method.set_arg_img_named">set_arg_img_named</a><a href="#method.set_arg_smp_named">set_arg_smp_named</a><a href="#method.set_arg_scl_named">set_arg_scl_named</a><a href="#method.set_arg_vec_named">set_arg_vec_named</a><a href="#method.set_arg_sampler_named">set_arg_sampler_named</a><a href="#method.cmd">cmd</a><a href="#method.enq">enq</a><a href="#method.set_default_queue">set_default_queue</a><a href="#method.get_gwo">get_gwo</a><a href="#method.get_gws">get_gws</a><a href="#method.get_lws">get_lws</a><a href="#method.set_default_global_work_offset">set_default_global_work_offset</a><a href="#method.set_default_global_work_size">set_default_global_work_size</a><a href="#method.set_default_local_work_size">set_default_local_work_size</a><a href="#method.default_queue">default_queue</a><a href="#method.default_global_work_offset">default_global_work_offset</a><a href="#method.default_global_work_size">default_global_work_size</a><a href="#method.default_local_work_size">default_local_work_size</a><a href="#method.as_core">as_core</a><a href="#method.info">info</a><a href="#method.wg_info">wg_info</a><a href="#method.arg_info">arg_info</a><a href="#method.name">name</a><a href="#method.num_args">num_args</a></div><a class="sidebar-title" href="#deref-methods">Methods from Deref<Target=KernelCore></a><div class="sidebar-links"><a href="#method.as_ptr">as_ptr</a><a href="#method.program">program</a><a href="#method.devices">devices</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Deref">Deref</a><a href="#impl-Clone">Clone</a></div></div><p class='location'><a href='index.html'>ocl</a></p><script>window.sidebarCurrent = {name: 'Kernel', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
- </nav>
- <div class="theme-picker">
- <button id="theme-picker" aria-label="Pick another theme!">
- <img src="../brush.svg" width="18" alt="Pick another theme!">
- </button>
- <div id="theme-choices"></div>
- </div>
- <script src="../theme.js"></script>
- <nav class="sub">
- <form class="search-form js-only">
- <div class="search-container">
- <input class="search-input" name="search"
- autocomplete="off"
- placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
- type="search">
- </div>
- </form>
- </nav>
- <section id='main' class="content">
- <h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>ocl</a>::<wbr><a class="struct" href=''>Kernel</a></span><span class='out-of-band'><span id='render-detail'>
- <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
- [<span class='inner'>−</span>]
- </a>
- </span><a class='srclink' href='../src/ocl/standard/kernel.rs.html#481-490' title='goto source code'>[src]</a></span></h1>
- <pre class='rust struct'>pub struct Kernel { /* fields omitted */ }</pre><div class='docblock'><p>A kernel which represents a 'procedure'.</p>
- <p>Corresponds to code which must have already been compiled into a program.</p>
- <p>Set arguments using <code>::set_arg</code> or any of the <code>::set_arg...</code> methods.</p>
- <p><code>Kernel</code> includes features that a raw OpenCL kernel does not, including:</p>
- <ol>
- <li>Type-checked arguments (not just size-checked)</li>
- <li>Named arguments (with a <code>&'static str</code> name)</li>
- <li>Prevention of a potential (difficult to debug) segfault if a buffer or
- image used by a kernel is dropped prematurely.</li>
- <li>Stored defaults for the:
- <ul>
- <li>Queue</li>
- <li>Global Work Offset</li>
- <li>Global Work Size</li>
- <li>Local Work Size</li>
- </ul>
- </li>
- </ol>
- <h3 id="clone-and-send" class="section-header"><a href="#clone-and-send"><code>Clone</code> and <code>Send</code></a></h3>
- <p>A <code>Kernel</code> may not be cloned but may be sent between threads. This ensures
- that no two threads create a race condition by attempting to set an
- argument and enqueue a kernel at the same time. Use the <code>KernelBuilder</code> to
- create multiple identical kernels (<code>KernelBuilder</code> is clonable and
- re-usable).</p>
- </div>
- <h2 id='methods' class='small-section-header'>
- Methods<a href='#methods' class='anchor'></a>
- </h2>
- <h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../ocl/struct.Kernel.html" title="struct ocl::Kernel">Kernel</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#492-847' title='goto source code'>[src]</a></span></h3>
- <div class='impl-items'><h4 id='method.builder' class="method"><span id='builder.v' class='invisible'><code>pub fn <a href='#method.builder' class='fnname'>builder</a><'p>() -> <a class="struct" href="../ocl/builders/struct.KernelBuilder.html" title="struct ocl::builders::KernelBuilder">KernelBuilder</a><'p></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#494-496' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns a new <code>KernelBuilder</code>.</p>
- </div><h4 id='method.named_arg_idx' class="method"><span id='named_arg_idx.v' class='invisible'><code>pub fn <a href='#method.named_arg_idx' class='fnname'>named_arg_idx</a>(&self, name: &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#525-527' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns the argument index of a named argument if it exists.</p>
- </div><h4 id='method.set_arg_unchecked' class="method"><span id='set_arg_unchecked.v' class='invisible'><code>pub unsafe fn <a href='#method.set_arg_unchecked' class='fnname'>set_arg_unchecked</a>(<br> &self, <br> arg_idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <br> arg_val: <a class="struct" href="../ocl/enums/struct.ArgVal.html" title="struct ocl::enums::ArgVal">ArgVal</a><br>) -> <a class="type" href="../ocl/error/type.Result.html" title="type ocl::error::Result">OclResult</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#537-539' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Sets an argument by index without checks of any kind.</p>
- <p>Setting buffer or image (<code>cl_mem</code>) arguments this way may cause
- segfaults or errors if the buffer goes out of scope at any point
- before this kernel is dropped.</p>
- <p>This also bypasses the check to determine if the type of the value you
- pass here matches the type defined in your kernel.</p>
- </div><h4 id='method.set_arg' class="method"><span id='set_arg.v' class='invisible'><code>pub fn <a href='#method.set_arg' class='fnname'>set_arg</a><'a, T, Ai, Av>(&self, idx: Ai, arg: Av) -> <a class="type" href="../ocl/error/type.Result.html" title="type ocl::error::Result">OclResult</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../ocl/traits/trait.OclPrm.html" title="trait ocl::traits::OclPrm">OclPrm</a>,<br> Ai: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><ArgIdxSpecifier>,<br> Av: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><ArgValConverter<'a, T>>, </span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#568-586' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Sets a <code>Buffer</code>, <code>Image</code>, scalar, or vector argument by index or by
- name.</p>
- <h3 id="example" class="section-header"><a href="#example">Example</a></h3>
- <div class='information'><div class='tooltip ignore'>ⓘ<span class='tooltiptext'>This example is not tested</span></div></div><pre class="rust rust-example-rendered ignore">
- <span class="comment">// Create a kernel with arguments corresponding to those in the kernel.</span>
- <span class="comment">// Just for fun, one argument will be 'named':</span>
- <span class="kw">let</span> <span class="ident">kern</span> <span class="op">=</span> <span class="ident">ocl_pq</span>.<span class="ident">kernel_builder</span>(<span class="string">"multiply_by_scalar"</span>)
- .<span class="ident">arg</span>(<span class="kw-2">&</span><span class="number">0</span>)
- .<span class="ident">arg</span>(<span class="prelude-val">None</span>::<span class="op"><</span><span class="kw-2">&</span><span class="ident">Buffer</span><span class="op"><</span><span class="ident">f32</span><span class="op">>></span>)
- .<span class="ident">arg_named</span>(<span class="string">"result"</span>, <span class="prelude-val">None</span>::<span class="op"><</span><span class="kw-2">&</span><span class="ident">Buffer</span><span class="op"><</span><span class="ident">f32</span><span class="op">>></span>)
- .<span class="ident">build</span>()<span class="question-mark">?</span>;
- <span class="comment">// Set our named argument. The Option<_> wrapper is, well... optional:</span>
- <span class="ident">kern</span>.<span class="ident">set_arg</span>(<span class="string">"result"</span>, <span class="kw-2">&</span><span class="ident">result_buffer</span>)<span class="question-mark">?</span>;
- <span class="comment">// We can also set arguments (named or not) by index. Just for</span>
- <span class="comment">// demonstration, we'll set one using an option:</span>
- <span class="ident">kern</span>.<span class="ident">set_arg</span>(<span class="number">0</span>, <span class="kw-2">&</span><span class="ident">COEFF</span>)<span class="question-mark">?</span>;
- <span class="ident">kern</span>.<span class="ident">set_arg</span>(<span class="number">1</span>, <span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">source_buffer</span>))<span class="question-mark">?</span>;
- <span class="ident">kern</span>.<span class="ident">set_arg</span>(<span class="number">2</span>, <span class="kw-2">&</span><span class="ident">result_buffer</span>)<span class="question-mark">?</span>;</pre>
- </div><h4 id='method.set_arg_buf_named' class="method"><span id='set_arg_buf_named.v' class='invisible'><code>pub fn <a href='#method.set_arg_buf_named' class='fnname'>set_arg_buf_named</a><'a, T, M>(<br> &'a self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br> buffer_opt: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><M><br>) -> <a class="type" href="../ocl/error/type.Result.html" title="type ocl::error::Result">OclResult</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../ocl/traits/trait.OclPrm.html" title="trait ocl::traits::OclPrm">OclPrm</a>,<br> M: <a class="trait" href="../ocl_core/types/abs/trait.AsMem.html" title="trait ocl_core::types::abs::AsMem">AsMem</a><T> + <a class="trait" href="../ocl_core/types/abs/trait.MemCmdAll.html" title="trait ocl_core::types::abs::MemCmdAll">MemCmdAll</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#590-604' title='goto source code'>[src]</a></span></h4>
- <div class='stability'><div class='stab deprecated'>Deprecated since 0.18.0<p>: Use <code>::set_arg</code> instead.</p>
- </div></div><div class='docblock'><p>Modifies the kernel argument named: <code>name</code>.</p>
- </div><h4 id='method.set_arg_img_named' class="method"><span id='set_arg_img_named.v' class='invisible'><code>pub fn <a href='#method.set_arg_img_named' class='fnname'>set_arg_img_named</a><'a, T, M>(<br> &'a self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br> image_opt: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><M><br>) -> <a class="type" href="../ocl/error/type.Result.html" title="type ocl::error::Result">OclResult</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../ocl/traits/trait.OclPrm.html" title="trait ocl::traits::OclPrm">OclPrm</a>,<br> M: <a class="trait" href="../ocl_core/types/abs/trait.AsMem.html" title="trait ocl_core::types::abs::AsMem">AsMem</a><T> + <a class="trait" href="../ocl_core/types/abs/trait.MemCmdAll.html" title="trait ocl_core::types::abs::MemCmdAll">MemCmdAll</a>, </span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#608-622' title='goto source code'>[src]</a></span></h4>
- <div class='stability'><div class='stab deprecated'>Deprecated since 0.18.0<p>: Use <code>::set_arg</code> instead.</p>
- </div></div><div class='docblock'><p>Modifies the kernel argument named: <code>name</code>.</p>
- </div><h4 id='method.set_arg_smp_named' class="method"><span id='set_arg_smp_named.v' class='invisible'><code>pub fn <a href='#method.set_arg_smp_named' class='fnname'>set_arg_smp_named</a><'a>(<br> &'a self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br> sampler_opt: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="../ocl/struct.Sampler.html" title="struct ocl::Sampler">Sampler</a>><br>) -> <a class="type" href="../ocl/error/type.Result.html" title="type ocl::error::Result">OclResult</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#626-633' title='goto source code'>[src]</a></span></h4>
- <div class='stability'><div class='stab deprecated'>Deprecated since 0.18.0<p>: Use <code>::set_arg_sampler_named</code> instead.</p>
- </div></div><div class='docblock'><p>Sets the value of a named sampler argument.</p>
- </div><h4 id='method.set_arg_scl_named' class="method"><span id='set_arg_scl_named.v' class='invisible'><code>pub fn <a href='#method.set_arg_scl_named' class='fnname'>set_arg_scl_named</a><'a, T, B>(<br> &'a self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br> scalar: B<br>) -> <a class="type" href="../ocl/error/type.Result.html" title="type ocl::error::Result">OclResult</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../ocl/traits/trait.OclPrm.html" title="trait ocl::traits::OclPrm">OclPrm</a>,<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T>, </span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#637-642' title='goto source code'>[src]</a></span></h4>
- <div class='stability'><div class='stab deprecated'>Deprecated since 0.18.0<p>: Use <code>::set_arg</code> instead.</p>
- </div></div><div class='docblock'><p>Modifies the kernel argument named: <code>name</code>.</p>
- </div><h4 id='method.set_arg_vec_named' class="method"><span id='set_arg_vec_named.v' class='invisible'><code>pub fn <a href='#method.set_arg_vec_named' class='fnname'>set_arg_vec_named</a><'a, T, B>(<br> &'a self, <br> name: &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br> vector: B<br>) -> <a class="type" href="../ocl/error/type.Result.html" title="type ocl::error::Result">OclResult</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../ocl/traits/trait.OclPrm.html" title="trait ocl::traits::OclPrm">OclPrm</a>,<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T>, </span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#646-651' title='goto source code'>[src]</a></span></h4>
- <div class='stability'><div class='stab deprecated'>Deprecated since 0.18.0<p>: Use <code>::set_arg</code> instead.</p>
- </div></div><div class='docblock'><p>Modifies the kernel argument named: <code>name</code>.</p>
- </div><h4 id='method.set_arg_sampler_named' class="method"><span id='set_arg_sampler_named.v' class='invisible'><code>pub fn <a href='#method.set_arg_sampler_named' class='fnname'>set_arg_sampler_named</a><'a, Ai>(<br> &'a self, <br> idx: Ai, <br> sampler_opt: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="../ocl/struct.Sampler.html" title="struct ocl::Sampler">Sampler</a>><br>) -> <a class="type" href="../ocl/error/type.Result.html" title="type ocl::error::Result">OclResult</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> <span class="where fmt-newline">where<br> Ai: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><ArgIdxSpecifier>, </span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#654-663' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Sets the value of a named sampler argument.</p>
- </div><h4 id='method.cmd' class="method"><span id='cmd.v' class='invisible'><code>pub fn <a href='#method.cmd' class='fnname'>cmd</a>(&self) -> <a class="struct" href="../ocl/builders/struct.KernelCmd.html" title="struct ocl::builders::KernelCmd">KernelCmd</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#667-677' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns a command builder which is used to chain parameters of an
- 'enqueue' command together.</p>
- </div><h4 id='method.enq' class="method"><span id='enq.v' class='invisible'><code>pub unsafe fn <a href='#method.enq' class='fnname'>enq</a>(&self) -> <a class="type" href="../ocl/error/type.Result.html" title="type ocl::error::Result">OclResult</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#689-691' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Enqueues this kernel on the default queue using the default work sizes
- and offsets.</p>
- <p>Shorthand for <code>.cmd().enq()</code></p>
- <h1 id="safety" class="section-header"><a href="#safety">Safety</a></h1>
- <p>All kernel code must be considered untrusted. Therefore the act of
- calling this function contains implied unsafety even though the API
- itself is safe.</p>
- </div><h4 id='method.set_default_queue' class="method"><span id='set_default_queue.v' class='invisible'><code>pub fn <a href='#method.set_default_queue' class='fnname'>set_default_queue</a>(&mut self, queue: <a class="struct" href="../ocl/struct.Queue.html" title="struct ocl::Queue">Queue</a>) -> &mut <a class="struct" href="../ocl/struct.Kernel.html" title="struct ocl::Kernel">Kernel</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#709-712' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Changes the default queue.</p>
- <p>Returns a ref for chaining i.e.:</p>
- <p><code>kernel.set_default_queue(queue).enqueue(....);</code></p>
- <p>Even when used as above, the queue is changed permanently,
- not just for the one call. Changing the queue is cheap so feel free
- to change as often as needed.</p>
- <p>If you want to change the queue for only a single call, use:
- <code>::cmd.queue(...)...enq()...</code></p>
- <p>The new queue must be associated with a device associated with the
- kernel's program.</p>
- </div><h4 id='method.get_gwo' class="method"><span id='get_gwo.v' class='invisible'><code>pub fn <a href='#method.get_gwo' class='fnname'>get_gwo</a>(&self) -> <a class="enum" href="../ocl/enum.SpatialDims.html" title="enum ocl::SpatialDims">SpatialDims</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#716-718' title='goto source code'>[src]</a></span></h4>
- <div class='stability'><div class='stab deprecated'>Deprecated since 0.18.0<p>: Use <code>::global_work_offset</code> instead.</p>
- </div></div><div class='docblock'><p>Returns the default global work offset.</p>
- </div><h4 id='method.get_gws' class="method"><span id='get_gws.v' class='invisible'><code>pub fn <a href='#method.get_gws' class='fnname'>get_gws</a>(&self) -> <a class="enum" href="../ocl/enum.SpatialDims.html" title="enum ocl::SpatialDims">SpatialDims</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#722-724' title='goto source code'>[src]</a></span></h4>
- <div class='stability'><div class='stab deprecated'>Deprecated since 0.18.0<p>: Use <code>::global_work_size</code> instead.</p>
- </div></div><div class='docblock'><p>Returns the default global work size.</p>
- </div><h4 id='method.get_lws' class="method"><span id='get_lws.v' class='invisible'><code>pub fn <a href='#method.get_lws' class='fnname'>get_lws</a>(&self) -> <a class="enum" href="../ocl/enum.SpatialDims.html" title="enum ocl::SpatialDims">SpatialDims</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#728-730' title='goto source code'>[src]</a></span></h4>
- <div class='stability'><div class='stab deprecated'>Deprecated since 0.18.0<p>: Use <code>::local_work_size</code> instead.</p>
- </div></div><div class='docblock'><p>Returns the default local work size.</p>
- </div><h4 id='method.set_default_global_work_offset' class="method"><span id='set_default_global_work_offset.v' class='invisible'><code>pub fn <a href='#method.set_default_global_work_offset' class='fnname'>set_default_global_work_offset</a>(<br> &mut self, <br> gwo: <a class="enum" href="../ocl/enum.SpatialDims.html" title="enum ocl::SpatialDims">SpatialDims</a><br>) -> &mut <a class="struct" href="../ocl/struct.Kernel.html" title="struct ocl::Kernel">Kernel</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#733-736' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Sets the default global work offset.</p>
- </div><h4 id='method.set_default_global_work_size' class="method"><span id='set_default_global_work_size.v' class='invisible'><code>pub fn <a href='#method.set_default_global_work_size' class='fnname'>set_default_global_work_size</a>(&mut self, gws: <a class="enum" href="../ocl/enum.SpatialDims.html" title="enum ocl::SpatialDims">SpatialDims</a>) -> &mut <a class="struct" href="../ocl/struct.Kernel.html" title="struct ocl::Kernel">Kernel</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#739-742' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Sets the default global work size.</p>
- </div><h4 id='method.set_default_local_work_size' class="method"><span id='set_default_local_work_size.v' class='invisible'><code>pub fn <a href='#method.set_default_local_work_size' class='fnname'>set_default_local_work_size</a>(&mut self, lws: <a class="enum" href="../ocl/enum.SpatialDims.html" title="enum ocl::SpatialDims">SpatialDims</a>) -> &mut <a class="struct" href="../ocl/struct.Kernel.html" title="struct ocl::Kernel">Kernel</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#745-748' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Sets the default local work size.</p>
- </div><h4 id='method.default_queue' class="method"><span id='default_queue.v' class='invisible'><code>pub fn <a href='#method.default_queue' class='fnname'>default_queue</a><'a>(&'a self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'a <a class="struct" href="../ocl/struct.Queue.html" title="struct ocl::Queue">Queue</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#751-753' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns the default queue for this kernel if one has been set.</p>
- </div><h4 id='method.default_global_work_offset' class="method"><span id='default_global_work_offset.v' class='invisible'><code>pub fn <a href='#method.default_global_work_offset' class='fnname'>default_global_work_offset</a>(&self) -> <a class="enum" href="../ocl/enum.SpatialDims.html" title="enum ocl::SpatialDims">SpatialDims</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#756-758' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns the default global work offset.</p>
- </div><h4 id='method.default_global_work_size' class="method"><span id='default_global_work_size.v' class='invisible'><code>pub fn <a href='#method.default_global_work_size' class='fnname'>default_global_work_size</a>(&self) -> <a class="enum" href="../ocl/enum.SpatialDims.html" title="enum ocl::SpatialDims">SpatialDims</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#761-763' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns the default global work size.</p>
- </div><h4 id='method.default_local_work_size' class="method"><span id='default_local_work_size.v' class='invisible'><code>pub fn <a href='#method.default_local_work_size' class='fnname'>default_local_work_size</a>(&self) -> <a class="enum" href="../ocl/enum.SpatialDims.html" title="enum ocl::SpatialDims">SpatialDims</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#766-768' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns the default local work size.</p>
- </div><h4 id='method.as_core' class="method"><span id='as_core.v' class='invisible'><code>pub fn <a href='#method.as_core' class='fnname'>as_core</a><'a>(&'a self) -> &'a <a class="struct" href="../ocl_core/types/abs/struct.Kernel.html" title="struct ocl_core::types::abs::Kernel">KernelCore</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#773-775' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns a reference to the core pointer wrapper, usable by functions in
- the <code>core</code> module.</p>
- </div><h4 id='method.info' class="method"><span id='info.v' class='invisible'><code>pub fn <a href='#method.info' class='fnname'>info</a>(&self, info_kind: <a class="enum" href="../ocl/enums/enum.KernelInfo.html" title="enum ocl::enums::KernelInfo">KernelInfo</a>) -> <a class="type" href="../ocl_core/error/type.Result.html" title="type ocl_core::error::Result">OclCoreResult</a><<a class="enum" href="../ocl/enums/enum.KernelInfoResult.html" title="enum ocl::enums::KernelInfoResult">KernelInfoResult</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#778-780' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns information about this kernel.</p>
- </div><h4 id='method.wg_info' class="method"><span id='wg_info.v' class='invisible'><code>pub fn <a href='#method.wg_info' class='fnname'>wg_info</a>(<br> &self, <br> device: <a class="struct" href="../ocl/struct.Device.html" title="struct ocl::Device">Device</a>, <br> info_kind: <a class="enum" href="../ocl/enums/enum.KernelWorkGroupInfo.html" title="enum ocl::enums::KernelWorkGroupInfo">KernelWorkGroupInfo</a><br>) -> <a class="type" href="../ocl_core/error/type.Result.html" title="type ocl_core::error::Result">OclCoreResult</a><<a class="enum" href="../ocl/enums/enum.KernelWorkGroupInfoResult.html" title="enum ocl::enums::KernelWorkGroupInfoResult">KernelWorkGroupInfoResult</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#783-786' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns work group information for this kernel.</p>
- </div><h4 id='method.arg_info' class="method"><span id='arg_info.v' class='invisible'><code>pub fn <a href='#method.arg_info' class='fnname'>arg_info</a>(<br> &self, <br> arg_idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <br> info_kind: <a class="enum" href="../ocl/enums/enum.KernelArgInfo.html" title="enum ocl::enums::KernelArgInfo">KernelArgInfo</a><br>) -> <a class="type" href="../ocl_core/error/type.Result.html" title="type ocl_core::error::Result">OclCoreResult</a><<a class="enum" href="../ocl/enums/enum.KernelArgInfoResult.html" title="enum ocl::enums::KernelArgInfoResult">KernelArgInfoResult</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#789-792' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns argument information for this kernel.</p>
- </div><h4 id='method.name' class="method"><span id='name.v' class='invisible'><code>pub fn <a href='#method.name' class='fnname'>name</a>(&self) -> <a class="type" href="../ocl_core/error/type.Result.html" title="type ocl_core::error::Result">OclCoreResult</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#795-797' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns the name of this kernel.</p>
- </div><h4 id='method.num_args' class="method"><span id='num_args.v' class='invisible'><code>pub fn <a href='#method.num_args' class='fnname'>num_args</a>(&self) -> <a class="type" href="../ocl_core/error/type.Result.html" title="type ocl_core::error::Result">OclCoreResult</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#800-806' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns the number of arguments this kernel has.</p>
- </div></div>
- <h2 id='deref-methods' class='small-section-header'>
- Methods from <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a><Target = <a class="struct" href="../ocl_core/types/abs/struct.Kernel.html" title="struct ocl_core::types::abs::Kernel">KernelCore</a>><a href='#deref-methods' class='anchor'></a>
- </h2>
- <div class='impl-items'><h4 id='method.as_ptr' class="method"><span id='as_ptr.v' class='invisible'><code>pub fn <a href='#method.as_ptr' class='fnname'>as_ptr</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="../libc/enum.c_void.html" title="enum libc::c_void">c_void</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl_core/types/abs.rs.html#899-901' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns a pointer, do not store it.</p>
- </div><h4 id='method.program' class="method"><span id='program.v' class='invisible'><code>pub fn <a href='#method.program' class='fnname'>program</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../ocl_core/types/abs/struct.Program.html" title="struct ocl_core::types::abs::Program">Program</a>, <a class="struct" href="../ocl_core/error/struct.Error.html" title="struct ocl_core::error::Error">Error</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl_core/types/abs.rs.html#904-910' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Returns the program associated with this kernel.</p>
- </div><h4 id='method.devices' class="method"><span id='devices.v' class='invisible'><code>pub fn <a href='#method.devices' class='fnname'>devices</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../ocl_core/types/abs/struct.DeviceId.html" title="struct ocl_core::types::abs::DeviceId">DeviceId</a>>, <a class="struct" href="../ocl_core/error/struct.Error.html" title="struct ocl_core::error::Error">Error</a>></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl_core/types/abs.rs.html#912-914' title='goto source code'>[src]</a></span></h4>
- </div>
- <h2 id='implementations' class='small-section-header'>
- Trait Implementations<a href='#implementations' class='anchor'></a>
- </h2>
- <h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../ocl/struct.Kernel.html" title="struct ocl::Kernel">Kernel</a></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#480' title='goto source code'>[src]</a></span></h3>
- <div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&self, __arg_0: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#480' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
- </div></div><h3 id='impl-Display' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../ocl/struct.Kernel.html" title="struct ocl::Kernel">Kernel</a></code><a href='#impl-Display' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#849-855' title='goto source code'>[src]</a></span></h3>
- <div class='impl-items'><h4 id='method.fmt-1' class="method"><span id='fmt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt' class='fnname'>fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#850-854' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
- </div></div><h3 id='impl-Deref' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="../ocl/struct.Kernel.html" title="struct ocl::Kernel">Kernel</a></code><a href='#impl-Deref' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#857-863' title='goto source code'>[src]</a></span></h3>
- <div class='impl-items'><h4 id='associatedtype.Target' class="type"><span id='Target.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target' class="type">Target</a> = <a class="struct" href="../ocl_core/types/abs/struct.Kernel.html" title="struct ocl_core::types::abs::Kernel">KernelCore</a></code></span></h4>
- <div class='docblock'><p>The resulting type after dereferencing.</p>
- </div><h4 id='method.deref' class="method"><span id='deref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref' class='fnname'>deref</a><'a>(&'a self) -> &'a <a class="struct" href="../ocl_core/types/abs/struct.Kernel.html" title="struct ocl_core::types::abs::Kernel">KernelCore</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#860-862' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Dereferences the value.</p>
- </div></div><h3 id='impl-Clone' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../ocl/struct.Kernel.html" title="struct ocl::Kernel">Kernel</a></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#865-870' title='goto source code'>[src]</a></span></h3>
- <div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> <a class="struct" href="../ocl/struct.Kernel.html" title="struct ocl::Kernel">Kernel</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/ocl/standard/kernel.rs.html#867-869' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Creates a new, identical kernel.</p>
- </div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#112-114' title='goto source code'>[src]</a></span></h4>
- <div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
- </div></div></section>
- <section id='search' class="content hidden"></section>
- <section class="footer"></section>
- <aside id="help" class="hidden">
- <div>
- <h1 class="hidden">Help</h1>
- <div class="shortcuts">
- <h2>Keyboard Shortcuts</h2>
- <dl>
- <dt><kbd>?</kbd></dt>
- <dd>Show this help dialog</dd>
- <dt><kbd>S</kbd></dt>
- <dd>Focus the search field</dd>
- <dt><kbd>↑</kbd></dt>
- <dd>Move up in search results</dd>
- <dt><kbd>↓</kbd></dt>
- <dd>Move down in search results</dd>
- <dt><kbd>↹</kbd></dt>
- <dd>Switch tab</dd>
- <dt><kbd>⏎</kbd></dt>
- <dd>Go to active search result</dd>
- <dt><kbd>+</kbd></dt>
- <dd>Expand all sections</dd>
- <dt><kbd>-</kbd></dt>
- <dd>Collapse all sections</dd>
- </dl>
- </div>
- <div class="infos">
- <h2>Search Tricks</h2>
- <p>
- Prefix searches with a type followed by a colon (e.g.
- <code>fn:</code>) to restrict the search to a given type.
- </p>
- <p>
- Accepted types are: <code>fn</code>, <code>mod</code>,
- <code>struct</code>, <code>enum</code>,
- <code>trait</code>, <code>type</code>, <code>macro</code>,
- and <code>const</code>.
- </p>
- <p>
- Search functions by type signature (e.g.
- <code>vec -> usize</code> or <code>* -> vec</code>)
- </p>
- </div>
- </div>
- </aside>
-
- <script>
- window.rootPath = "../";
- window.currentCrate = "ocl";
- </script>
- <script src="../main.js"></script>
- <script defer src="../search-index.js"></script>
- </body>
- </html>
|