Setting Kernel Parameters
Some BlinkScript controls are used by all kernels. Rather than write these individually in each instance, the BlinkScript properties panel includes the Kernel Parameters tab, providing easy access to the standard kernel controls.
The Kernel Parameters tab also contains any controls exposed by specific kernel commands. For example, the default SwirlomaticKernel exposes the Swirlomatic_Amount control. See Editing Kernels for more information on exposing controls.
The Bake button also resides on the Kernel Parameters tab, but we'll get into that in more detail in Baking and Protecting Your Kernels.
GPU or CPU?
The read-only Local GPU field displays the graphics card installed locally, if there is one available. You can toggle the GPU on and off using the Use GPU if available control. If you have multiple GPUs available, select the required device using the Preferences > Performance > Hardware > default blink device dropdown.
Note: Selecting a different GPU requires you to restart Nuke before the change takes effect.
Tip: Even if there is no GPU available locally, you can still enable Use GPU if available. BlinkScript then uses the GPU as and when one becomes available.
You should also enable this if you wish to render from the command line with the --gpu option.
Nuke's GPU support includes an Enable multi-GPU support option. When enabled in the preferences, GPU processing is shared between the available GPUs for extra processing speed.
Note: For more information on GPU support, see the Release Notes for your version of Nuke.
Additionally, enable Vectorize on CPU to use SIMD acceleration on the CPU where possible. See the Blink Developer Guide for more information on kernel execution.
Safety Rails
Turn on Safety Rails in the Kernel Parameters tab to catch common errors when prototyping BlinkScript kernels. When this option is enabled, additional code is generated to check for, catch and safely handle out-of-bounds memory accesses, which are a common cause of BlinkScript crashes.
When you recompile the BlinkScript Kernel, invalid pixel accesses are printed to the Nuke terminal and any errors caught are displayed in the error accordion in the BlinkScript editor.
Warning: When disabled, the code is generated to maximize performance without the Safety Rails preventing any crashes.
It is recommended to enable Safety Rails during development and to disable once complete.
Specifying the Output Format
BlinkScript's output defaults to the union of all its inputs, but you can specify a different output format by enabling Specify output format and selecting the required ratio from the format dropdown.
Tip: Enabling Specify output format also adds the format control to the kernel once it has been published. See Baking and Protecting Your Kernels for more information.