##
Effects (OpenCL, Cuda)

CUDA® is a parallel computing platform / programming model developed by Nvidia that provides big increases in computing performance through use of the GPU. It was first introduced in about 2006 for applications in computationally intense fields such as astronomy, biology, chemistry, and physics.

At the time this was written, the use of Cuda is not going to improve the playing and rendering of video in CINELERRA-GG except in the case where you use a specific Cuda-enabled plugin that is computationally intense – sadly, most of what Cin does, Cuda will not help. Cuda is mostly a block oriented algorithm which works well for such things as a flock of birds all flying next to each other.

The same as for vaapi and vdpau, you can enable Cuda in the:
Settings → Preferences, Performance tab, Use HW Device
but it will not affect anything unless you have Cuda installed on your system and have built CINELERRA-GG yourself with Cuda build enabled. To install it on your computer, you will need to do the following:

1. Make sure you have the Nvidia proprietary library drivers for your graphics board already installed and up to date.
2. Go to the Nvidia Cuda development website and choose one of the available operating system’s such as Fedora, OpenSuse, CentOS, Ubuntu, ... at `https://developer.nvidia.com/`
3. You will be installing repositories by package – this will be around 3 GB.
4. Also, install the Fusion repo, although it is unknown if necessary or not.

There is a very good set of directions on the website to just follow. Once you have installed the Cuda software on your computer, you must build CINELERRA-GG yourself – the default flag for a build in the configure script for cuda is auto. For Arch, and possibly other distros, you may have to supply the CUDA_PATH if it is not in the standard place. This would be something like:

    	env CUDA_PATH=/opt/cuda
    OR if using the bash shell:
    	export CUDA_PATH=/opt/cuda

For all distros you will need to add to the ./configure line in your build script, the following:

    	--with-cuda
    so your configure line will look something like this:
    	./configure --with-single-user --with-booby --with-cuda

There are currently 2 available plugins for show and tell that take advantage of the hardware acceleration of Cuda – N_Body and Mandelbrot (see CUDA plugins).

An error you may see on your CINELERRA-GG startup window when you have Cuda installed and try to run one of the 2 plugins is cudaErrorInsufficientDriver. This indicates CUDA 10 (the current version at the time of this writing) is not compatible with the driver version on your computer. You can either:

1. Upgrade the driver if your board supports newer nvidia builds.
2. downgrade the cuda development package to a version that works for your board.