<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenCL on darktable 5.6 user manual</title>
    <link>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/</link>
    <description>Recent content in OpenCL on darktable 5.6 user manual</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>the background</title>
      <link>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/background/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/background/</guid>
      <description>&lt;p&gt;Processing high resolution images is a demanding task requiring a modern computer. In terms of both memory and CPU power, getting the best out of a typical 15, 20 or 25 megapixel image can quickly take your computer to its limits.&lt;/p&gt;&#xA;&lt;p&gt;darktable&amp;rsquo;s requirements are no exception. All calculations are performed on 4 x 32bit floating point numbers. This is slower than “ordinary” 8 or 16 bit integer algebra, but eliminates all problems of tonal breaks or loss of information.&lt;/p&gt;</description>
    </item>
    <item>
      <title>how OpenCL works</title>
      <link>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/how-opencl-works/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/how-opencl-works/</guid>
      <description>&lt;p&gt;As you can imagine, the hardware architecture of GPUs can vary significantly. There are different manufacturers, and even different generations of GPUs from the same manufacturer may not be comparable. At the same time GPU manufacturers don&amp;rsquo;t normally disclose all the hardware details of their products to the public. One of the consequences of this is the need to use proprietary drivers under Linux, if you want to take full advantage of your graphics card.&lt;/p&gt;</description>
    </item>
    <item>
      <title>activating OpenCL in darktable</title>
      <link>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/activate-opencl/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/activate-opencl/</guid>
      <description>&lt;p&gt;Using OpenCL in darktable requires that your PC is equipped with a suitable graphics card and that it has the required libraries in place. Most modern graphics cards from NVIDIA, Intel or AMD come with full OpenCL support. The OpenCL compiler is normally shipped as part of the proprietary graphics driver and is used as a dynamic library called &lt;code&gt;libOpenCL.so&lt;/code&gt;. This library must be in a folder where it can be found by your system&amp;rsquo;s dynamic linker.&lt;/p&gt;</description>
    </item>
    <item>
      <title>setting up OpenCL</title>
      <link>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/setting-up/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/setting-up/</guid>
      <description>&lt;p&gt;The huge diversity of systems and the marked differences between OpenCL vendors and driver versions makes it impossible to give an comprehensive overview of how to setup OpenCL. We only can give you an example, in this case for NVIDIA driver version 542.29.06 on Fedora 39. We hope that this will serve as a basic introduction and will help you to solve any problems specific to your setup.&lt;/p&gt;&#xA;&lt;p&gt;The principle OpenCL function flow is like this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>possible problems &amp; solutions</title>
      <link>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/problems-solutions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/problems-solutions/</guid>
      <description>&lt;p&gt;darktable will detect OpenCL run-time errors automatically. On detecting an error, it will then reprocess everything on the CPU. While this will slow down processing it should not affect the end result.&lt;/p&gt;&#xA;&lt;p&gt;There can be various reasons why OpenCL might fail during the initialization phase. OpenCL depends on hardware requirements and on the presence of certain drivers and libraries. In addition all these have to fit in terms of maker, model and revision number. If anything does not fit (e.g. your graphics driver &amp;ndash; loaded as a kernel module &amp;ndash; does not match the version of your &lt;code&gt;libOpenCL.so&lt;/code&gt;) OpenCL support will likely not be available.&lt;/p&gt;</description>
    </item>
    <item>
      <title>scheduling profile</title>
      <link>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/scheduling-profile/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/scheduling-profile/</guid>
      <description>&lt;p&gt;darktable can use the CPU and one or several OpenCL capable GPUs. Depending on the relative performance of these devices, users can choose among certain scheduling profiles to optimize performance. This is achieved by setting the configuration parameter &lt;a href=&#34;https://docs.darktable.org/usermanual/5.6/en/preferences-settings/processing/#opencl&#34;&gt;preferences &amp;gt; processing &amp;gt; OpenCL &amp;gt; OpenCL scheduling profile&lt;/a&gt;, which offers the following choices:&lt;/p&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt&gt;default&lt;/dt&gt;&#xA;&lt;dd&gt;If an OpenCL-capable GPU is found darktable uses it for processing the center image view while the &lt;a href=&#34;https://docs.darktable.org/usermanual/5.6/en/module-reference/utility-modules/darkroom/navigation/&#34;&gt;navigation preview window&lt;/a&gt; is processed on the CPU in parallel. This is the preferred setting for systems with a reasonably fast CPU and a moderately fast GPU. The exact allocation of devices to the various pixelpipe types can be finetuned with the “opencl_device_priority” configuration parameter (see &lt;a href=&#34;https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/multiple-devices/&#34;&gt;multiple devices&lt;/a&gt;).&lt;/dd&gt;&#xA;&lt;dt&gt;very fast GPU&lt;/dt&gt;&#xA;&lt;dd&gt;With this scheduling profile darktable processes the center image view and the preview window on the GPU sequentially. This is the preferred setting for systems with a GPU that strongly outperforms the CPU.&lt;/dd&gt;&#xA;&lt;dt&gt;multiple GPUs&lt;/dt&gt;&#xA;&lt;dd&gt;This setting addresses systems with multiple GPUs whose relative performance do &lt;strong&gt;not&lt;/strong&gt; differ significantly. Whenever a processing job is started darktable uses any currently idle GPU but not the CPU. Users of systems with a variety of GPUs will need better control on their relative priority. They would be better off selecting the “default” profile and fine-tuning their system with the “opencl_device_priority” configuration parameter (see &lt;a href=&#34;https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/multiple-devices/&#34;&gt;multiple devices&lt;/a&gt;).&lt;/dd&gt;&#xA;&lt;/dl&gt;&#xA;&lt;p&gt;On first start-up or after any detected change in the GPU configuration of your system darktable tries to identify the best suited profile for you. You can change it at any time in &lt;a href=&#34;https://docs.darktable.org/usermanual/5.6/en/preferences-settings/processing/#opencl&#34;&gt;preferences &amp;gt; processing &amp;gt; OpenCL&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>multiple devices</title>
      <link>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/multiple-devices/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/multiple-devices/</guid>
      <description>&lt;p&gt;The scheduling of OpenCL devices can be optimized on most systems using the “OpenCL scheduling profile” settings. However, if your system is equipped with more than one GPU, you might want to set the relative device priority manually. To do this you need to select the “default” scheduling profile and change the settings in the “opencl_device_priority” configuration parameter.&lt;/p&gt;&#xA;&lt;p&gt;It is important to understand how darktable uses OpenCL devices. Each processing sequence of an image &amp;ndash; to convert an input to the final output using a history stack &amp;ndash; is run in a pixelpipe. There are five different types of pixelpipe in darktable. One type is responsible for processing the center image view (or full view) in darkroom mode, another pixelpipe processes the preview image (navigation window, also required for histograms and more internal stuff relevant for correct output of the full view). Another preview pixelpipe would be required for showing a second darkroom window. There can be one of each of these three pixelpipes running at any time, with the full and preview pixelpipes running in parallel. In addition there can be multiple parallel pixelpipes performing file exports as well as multiple parallel pixelpipes generating thumbnails. If an OpenCL device is available, darktable dynamically allocates it to one specific pixelpipe for one run and releases it afterwards.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenCL still does not run for me</title>
      <link>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/still-doesnt-work/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.darktable.org/usermanual/5.6/en/special-topics/opencl/still-doesnt-work/</guid>
      <description>&lt;p&gt;As has been mentioned, OpenCL systems come with a huge variety of setups: different GPU manufacturers and models, varying amounts of GPU memory, different drivers, different distributions etc..&lt;/p&gt;&#xA;&lt;p&gt;Many of the potential problems will only appear with very specific combinations of these factors. As the darktable developers only have access to a small fraction of these variations, please understand that we might not be able to fix your specific problem. There is not much we can do if we are unable to reproduce your issue.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
