MainConcept H.264/AVC CUDA System Requirements
In order to take advantage of GPU acceleration of MainConcept H.264/AVC, the following is required:
- 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, XP, Vista, Windows 7 (32-bit/64-bit).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.
OS X 10.5.7 or later.
- Minimum NVIDIA Driver version v196.21 (no Fermi support)
- Minimum NVIDIA Driver version v196.47 (Fermi support)
- Minimum NVIDIA CUDA Driver version 3.1.14
- Minimum NVIDIA GPU Driver version 188.8.131.52 (19.5.9f02)
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”
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.
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.