< Previous | Contents | Manuals Home | Boris FX | Next >

GPUs and Performance

SynthEyes uses the open-source Tensorflow library, initially created by Google, as the basis of its neural net processing on Windows and Linux. On macOS, SynthEyes uses the macOS-native CoreML software.

While neural nets will run on the CPU(s), neural nets require much computing, and that computing is reasonably-well suited to running on advanced GPUs, potentially running several times faster than just on the CPU.

Tip : While GPU processing is important for auto-tracking, which processes the entire image, it’s not crucial for supervised tracking, which must process only small areas.

Tensorflow supports GPU-based acceleration, but only using certain Nvidia CUDA-enabled video cards. (Only one card is used, additional cards are not.) Read on below for directions on how to install the Tensorflow-for-GPUs overlay for SynthEyes preferences affecting GPU processing.

Important : We can’t “make” Tensorflow run on your XYZ9000 video card. If Tensorflow finds what it needs to run on the card, it’ll run; if not, it won’t. SynthEyes doesn’t have any say or anything to do about that decision. There’s no list of video cards in SynthEyes, or special tweaks for them; it doesn’t know anything about your video card. That’s not a bug, that’s just how libraries and operating systems work.

Windows/Linux systems with AMD video cards, will do neural processing only on the CPU. AMD could contribute the code necessary for Tensorflow to run on AMD video cards, but appears to have done only a specialized system for Linux developers deploying at scale for large “Fortune 500” companies.

Apple has its own proprietary CoreML neural net scheme. We’ve translated our Tensorflow models and code to use CoreML, gaining access to GPU and Apple Neural Engine (ANE) support on macOS 10.15+.

WARNING : Though SynthEyes requires macOS 10.13 to start in general, Neural net processing requires macOS 10.15 to run neural nets.

TIP : If you encounter error messages like “failure dynamically resizing in sequence length” on macOS with an ANE, you can switch to GPU processing for that network, or reduce tiles_per_batch in its nnconfig.txt file.

WARNING : If you have active neural-network processing on the GPU, you may not be able to decode ARRI, BRAW, or RED movies ! These decoders also use the GPU; you need to be sure to open the movie first. Once GPU processing starts, movie decoding may be locked out.

WARNING : Depending on your GPU preferences, and maybe not even, using the GPU for Tensorflow may lock out other applications (such as After Effects) from being able to use Tensorflow, or if another GPU application is already running, may prevent SynthEyes from being able to use the GPU for neural processing. The preferences give you some control over this, but again this is behavior is due to Tensorflow’s implementation and general GPU technology, not something over which we have direct control.

©2024 Boris FX, Inc. — UNOFFICIAL — Converted from original PDF.