H.264 GPU Acceleration in Sorenson Squeeze

Last Updated: Nov 11, 2014 10:50AM PST

Note regarding CUDA support in latest versions of Squeeze:

CUDA support was first introduced in Squeeze Desktop 7 and most versions of Squeeze Server. Since the introduction of the CUDA GPU Acceleration we have found these encodes to be below our standards of quality. With the introduction of our Parallel Encoding feature we have been able to create higher quality output files that encode faster than with the GPU Acceleration.

The MainConcept Codec, required for CUDA encoding, no longer supports CUDA GPU Acceleration. This means that the latest CUDA cards will not be supported.

Thank You,

Sorenson Media


Squeeze 7 and later support GPU accelerated video encoding using the Main Concept H.264 encoder and a NVIDIA CUDA-enabled video card.

MainConcept H.264/AVC CUDA System Requirements

GPU acceleration of MainConcept H.264/AVC requires:
  • Squeeze 7 or later.
  • NVIDIA video card with CUDA support (any GeForce 8, 9, 100, 200-series GPUs, Fermi, Tesla and Quadro with a minimum of 512 MB.
  • CUDA architecture 1.1 (any card except of 8800 GTS, 8800 Ultra, 8800 GTX and some Teslas and Quadros). CUDA architecture 1.0 to 1.3 implies a Tesla video card. CUDA architecture of 2.0 implies a Fermi video card.
Windows 8, 7, Vista, XP (32-bit/64-bit).
  • Minimum NVIDIA Driver version v196.21 (no Fermi support)
  • Minimum NVIDIA Driver version v196.47 (Fermi support)
OS X 10.5.7 or later.
  • Minimum NVIDIA CUDA Driver version 3.1.14
  • Minimum NVIDIA GPU Driver version (19.5.9f02)
The memory requirements are unfortunately not as straightforward as they would seem. Each resolution requires a different amount of memory, but not all of the memory on the card is necessarily available to the Mainconcept H.264/AVC CUDA encoder. If the encoder is not able to allocate enough memory, the encoder will fail. Because of this, meeting the minimum memory requirements is not a guarantee that a particular video card is capable of encoding in the specified resolution. Therefore, it is recommended that the minimum memory requirements should be exceeded when purchasing a new video card.

How to Determine if MainConcept H.264/AVC CUDA Requirements Are Met

The Preferences menu for Squeeze 7 or later has a “GPU” tab that indicates whether the computer can support Mainconcept H.264/AVC CUDA Encoding. It will list each NVIDIA CUDA board installed on the computer with its associated Compute Capability (CUDA architecture) and memory size. It will also indicate if the NVIDIA drivers provide the required support for Mainconcept H.264/AVC CUDA Encoding.

If Squeeze 7 or later is not installed, a useful tool called CUDA-Z can quickly analyze whether the graphics board supports CUDA Encoding (download here: http://cuda-z.sourceforge.net/). The “Compute Capability” field in the “Core” tab must be 1.1 or greater and the “Total Global” field of the “Memory” tab must be at 512 MB.

On Windows, the NVIDIA control panel can be used to check the driver versions. Select Start, Control Panel, NVIDIA Control Panel, and select Help, System Information. The display tab will contain “Driver version”.

On a Mac , the “System Preferences” has a “CUDA” icon under “Other”. Selecting this will display the driver version on a Mac. The drivers can be updated from this pane. If a Mac Pro has both ATI and NVIDIA video cards, the NVIDIA video card is sometimes not detected by the GPU acceleration code. Removing the ATI video card will solve this problem. Some Mac Book Pros have two video cards – one is CUDA and one is not. In order for Squeeze to see the CUDA card, you may have to do the following: Go into the system preferences, select "Energy Saver" > "Higher Performance" instead of "Better Battery Life." Restart and it should then work.

Selecting an NVIDIA CUDA-Enabled Video Card

The most important factor is choosing a CUDA card is the number of cores that the GPU has. The more GPU cores a card has, the better the performance will be. Although the minimum required memory size is 512 MB, it is recommended to buy a card with more memory.

NVIDIA provides a list of all CUDA-enabled products at http://www.nvidia.com/object/cuda_gpus.html. When choosing an NVIDIA card with CUDA support, remember that the “Compute Capability” must be 1.1 or greater and the memory size must be at least 512 MB.

When choosing an NVIDIA card with CUDA support for a Mac, make sure that the Mac’s model identifier is compatible with the NVIDIA card. For example, the “Quadro FX 4800” will only work with a Mac with a model identifier of “MacPro3,1” or “MacPro4,1”. You can find the model identifier by doing the following:
  • Go to “About This Mac”
  • Click on the “More Info” button
  • Select “Hardware”
Some NVIDIA video cards actually contain two NVIDIA video cards (GeForce GTX 295 or GeForce 9800 GX2 for example). The Mainconcept H.264/AVC CUDA encoding will use only one half of such video cards. Multiple, simultaneous Mainconcept H.264/AVC CUDA encodes in Squeeze can share the same NVIDIA video card. If there are several NVIDIA video cards in your system, multiple simultaneous Mainconcept H.264/AVC CUDA encodes can use different video cards.

When using two or more NVIDIA cards in the same system, the cards need to use the same NVIDIA driver to avoid conflicts. For this reason, GeForce and Quadro cards should not be used in the same system. When using two or more NVIDIA cards in the same system, it would be best if they were the same card.

How to Update NVIDIA Drivers

If the NVIDIA driver for a CUDA-enabled product does not provide the required support for Mainconcept H.264/AVC CUDA Encoding, it can be updated from here: http://www.nvidia.com/Download/index5.aspx.

On a Windows computer, select the “Graphic Drivers” button under “Option 2: Automatically find drivers for my NVIDIA products”.

On a Mac, select “NVIDIA CUDA Driver for Mac” under “Drivers” under the “Additional Software and Drivers” heading. Then select the latest version of the driver.

*Note: Mac users updating to Mac OS 10.7 Lion, please update your NVIDIA CUDA driver with the developer driver here: http://developer.nvidia.com/cuda-toolkit-40#MacOS
You will want to download the one named:
Developer Drivers (4.0.50) for MacOS (requires OS ver. 10.6.8 or higher)

H.264/AVC CUDA Encoder Feature Restrictions

Mainconcept H.264/AVC CUDA Encode has the following restrictions.
  • Only supports One and Two pass VBR – no CBR or Multi-pass.
  • Does not support “Interlace Mode”.
  • Only supports one B-Frame.
  • Does not support “Use B-Slices as Reference”.
  • Does not support “Reference Frames”.
  • Does not support “Multiple Slices”.
  • Does not support “Black Normalization Level”.
  • Does not support HRD – no Blu-Ray.

Problems Encountered

Some AVID products are CUDA-enabled. These products may require a version of the NVIDIA drives that have a version number lower than the version number required by MainConcept's H.264. If this is the case, Squeeze will not allow GPU acceleration. AVID is in the process of certifying a newer version of the driver. When that is available and installed on your system, Squeeze will allow GPU acceleration.

There are three main reasons Squeeze cannot use your GPU for video encoding acceleration:
1) There is some other application running which has allocated GPU resources (memory) and the is not enough left for Squeeze.
2) The GPU does not have enough resources (memory).
3) The GPU is not supported by Mainconcepts CUDA SDK(used by Squeeze). Only Fermi and Tesla are supported. The new Kepler cards are not supported.
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
Invalid characters found