<spanid="arrayfire-opencl-module"></span><h1>arrayfire.opencl module<aclass="headerlink" href="#module-arrayfire.opencl" title="Permalink to this headline">¶</a></h1>
<p>Functions specific to OpenCL backend.</p>
<p>This module provides interoperability with other OpenCL libraries.</p>
<dlclass="py class">
<dtid="arrayfire.opencl.DEVICE_TYPE">
<emclass="property"><spanclass="pre">class</span></em><codeclass="sig-prename descclassname"><spanclass="pre">arrayfire.opencl.</span></code><codeclass="sig-name descname"><spanclass="pre">DEVICE_TYPE</span></code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">value</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal" href="_modules/arrayfire/opencl.html#DEVICE_TYPE"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink" href="#arrayfire.opencl.DEVICE_TYPE" title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname"><spanclass="pre">ACC</span></code><emclass="property"><spanclass="pre">=</span><spanclass="pre">8</span></em><aclass="headerlink" href="#arrayfire.opencl.DEVICE_TYPE.ACC" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="arrayfire.opencl.DEVICE_TYPE.CPU">
<codeclass="sig-name descname"><spanclass="pre">CPU</span></code><emclass="property"><spanclass="pre">=</span><spanclass="pre">2</span></em><aclass="headerlink" href="#arrayfire.opencl.DEVICE_TYPE.CPU" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="arrayfire.opencl.DEVICE_TYPE.GPU">
<codeclass="sig-name descname"><spanclass="pre">GPU</span></code><emclass="property"><spanclass="pre">=</span><spanclass="pre">4</span></em><aclass="headerlink" href="#arrayfire.opencl.DEVICE_TYPE.GPU" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="arrayfire.opencl.DEVICE_TYPE.UNKNOWN">
<codeclass="sig-name descname"><spanclass="pre">UNKNOWN</span></code><emclass="property"><spanclass="pre">=</span><spanclass="pre">-1</span></em><aclass="headerlink" href="#arrayfire.opencl.DEVICE_TYPE.UNKNOWN" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="arrayfire.opencl.PLATFORM">
<emclass="property"><spanclass="pre">class</span></em><codeclass="sig-prename descclassname"><spanclass="pre">arrayfire.opencl.</span></code><codeclass="sig-name descname"><spanclass="pre">PLATFORM</span></code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">value</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal" href="_modules/arrayfire/opencl.html#PLATFORM"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink" href="#arrayfire.opencl.PLATFORM" title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname"><spanclass="pre">AMD</span></code><emclass="property"><spanclass="pre">=</span><spanclass="pre">0</span></em><aclass="headerlink" href="#arrayfire.opencl.PLATFORM.AMD" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="arrayfire.opencl.PLATFORM.APPLE">
<codeclass="sig-name descname"><spanclass="pre">APPLE</span></code><emclass="property"><spanclass="pre">=</span><spanclass="pre">1</span></em><aclass="headerlink" href="#arrayfire.opencl.PLATFORM.APPLE" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="arrayfire.opencl.PLATFORM.BEIGNET">
<codeclass="sig-name descname"><spanclass="pre">BEIGNET</span></code><emclass="property"><spanclass="pre">=</span><spanclass="pre">4</span></em><aclass="headerlink" href="#arrayfire.opencl.PLATFORM.BEIGNET" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="arrayfire.opencl.PLATFORM.INTEL">
<codeclass="sig-name descname"><spanclass="pre">INTEL</span></code><emclass="property"><spanclass="pre">=</span><spanclass="pre">2</span></em><aclass="headerlink" href="#arrayfire.opencl.PLATFORM.INTEL" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="arrayfire.opencl.PLATFORM.NVIDIA">
<codeclass="sig-name descname"><spanclass="pre">NVIDIA</span></code><emclass="property"><spanclass="pre">=</span><spanclass="pre">3</span></em><aclass="headerlink" href="#arrayfire.opencl.PLATFORM.NVIDIA" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="arrayfire.opencl.PLATFORM.POCL">
<codeclass="sig-name descname"><spanclass="pre">POCL</span></code><emclass="property"><spanclass="pre">=</span><spanclass="pre">5</span></em><aclass="headerlink" href="#arrayfire.opencl.PLATFORM.POCL" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="arrayfire.opencl.PLATFORM.UNKNOWN">
<codeclass="sig-name descname"><spanclass="pre">UNKNOWN</span></code><emclass="property"><spanclass="pre">=</span><spanclass="pre">-1</span></em><aclass="headerlink" href="#arrayfire.opencl.PLATFORM.UNKNOWN" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py function">
<dtid="arrayfire.opencl.add_device_context">
<codeclass="sig-prename descclassname"><spanclass="pre">arrayfire.opencl.</span></code><codeclass="sig-name descname"><spanclass="pre">add_device_context</span></code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">dev</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">ctx</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">que</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal" href="_modules/arrayfire/opencl.html#add_device_context"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink" href="#arrayfire.opencl.add_device_context" title="Permalink to this definition">¶</a></dt>
<dd><p>Add a new device to arrayfire opencl device manager</p>
<codeclass="sig-prename descclassname"><spanclass="pre">arrayfire.opencl.</span></code><codeclass="sig-name descname"><spanclass="pre">get_context</span></code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">retain</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">False</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal" href="_modules/arrayfire/opencl.html#get_context"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink" href="#arrayfire.opencl.get_context" title="Permalink to this definition">¶</a></dt>
<dd><p>Get the current OpenCL context being used by ArrayFire.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><dlclass="simple">
<dt><strong>retain</strong><spanclass="classifier">bool. optional. Default: False.</span></dt><dd><p>Specifies if the context needs to be retained by arrayfire before returning.</p>
</dd>
</dl>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><dlclass="simple">
<dt><strong>context</strong><spanclass="classifier">integer denoting the context id.</span></dt><dd></dd>
</dl>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="arrayfire.opencl.get_device_id">
<codeclass="sig-prename descclassname"><spanclass="pre">arrayfire.opencl.</span></code><codeclass="sig-name descname"><spanclass="pre">get_device_id</span></code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal" href="_modules/arrayfire/opencl.html#get_device_id"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink" href="#arrayfire.opencl.get_device_id" title="Permalink to this definition">¶</a></dt>
<dd><p>Get native (unsorted) OpenCL device ID</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><dlclass="simple">
<dt><strong>idx</strong><spanclass="classifier">int.</span></dt><dd><p>Specifies the <cite>cl_device_id</cite> of the device.</p>
</dd>
</dl>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="arrayfire.opencl.get_device_type">
<codeclass="sig-prename descclassname"><spanclass="pre">arrayfire.opencl.</span></code><codeclass="sig-name descname"><spanclass="pre">get_device_type</span></code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal" href="_modules/arrayfire/opencl.html#get_device_type"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink" href="#arrayfire.opencl.get_device_type" title="Permalink to this definition">¶</a></dt>
<dd><p>Get opencl device type</p>
</dd></dl>
<dlclass="py function">
<dtid="arrayfire.opencl.get_platform">
<codeclass="sig-prename descclassname"><spanclass="pre">arrayfire.opencl.</span></code><codeclass="sig-name descname"><spanclass="pre">get_platform</span></code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal" href="_modules/arrayfire/opencl.html#get_platform"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink" href="#arrayfire.opencl.get_platform" title="Permalink to this definition">¶</a></dt>
<dd><p>Get opencl platform</p>
</dd></dl>
<dlclass="py function">
<dtid="arrayfire.opencl.get_queue">
<codeclass="sig-prename descclassname"><spanclass="pre">arrayfire.opencl.</span></code><codeclass="sig-name descname"><spanclass="pre">get_queue</span></code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">retain</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal" href="_modules/arrayfire/opencl.html#get_queue"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink" href="#arrayfire.opencl.get_queue" title="Permalink to this definition">¶</a></dt>
<dd><p>Get the current OpenCL command queue being used by ArrayFire.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><dlclass="simple">
<dt><strong>retain</strong><spanclass="classifier">bool. optional. Default: False.</span></dt><dd><p>Specifies if the context needs to be retained by arrayfire before returning.</p>
</dd>
</dl>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><dlclass="simple">
<dt><strong>queue</strong><spanclass="classifier">integer denoting the queue id.</span></dt><dd></dd>
</dl>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="arrayfire.opencl.set_device_context">
<codeclass="sig-prename descclassname"><spanclass="pre">arrayfire.opencl.</span></code><codeclass="sig-name descname"><spanclass="pre">set_device_context</span></code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">dev</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">ctx</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal" href="_modules/arrayfire/opencl.html#set_device_context"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink" href="#arrayfire.opencl.set_device_context" title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname"><spanclass="pre">arrayfire.opencl.</span></code><codeclass="sig-name descname"><spanclass="pre">set_device_id</span></code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">idx</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal" href="_modules/arrayfire/opencl.html#set_device_id"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink" href="#arrayfire.opencl.set_device_id" title="Permalink to this definition">¶</a></dt>
<dd><p>Set native (unsorted) OpenCL device ID</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><dlclass="simple">
<dt><strong>idx</strong><spanclass="classifier">int.</span></dt><dd><p>Specifies the <cite>cl_device_id</cite> of the device.</p>