Update CUDA API: CUDA does not work in new drivers. Bringing back CUDA support in two steps

Strangely enough, most of the questions are about the cheapest video cards. Of course, it is more expedient to buy an Adobe certified video card, as their engineer wrote in his blog, the choice of video cards is limited, since they did not want the support service to be flooded with questions about video cards, as is the case with after effects. Of course, it is more logical to support professional cards with a reference design. But as you can see, the list is expanding and in addition to the G200 and Fermi chipsets, the G92 chipset (Quadro FX 3700M and Quadro FX 3800M) is officially supported for laptops. Since starting from Adobe updates Premiere Pro CS5 5.0.2 update Mercury Playback Engine (MPE) is optimized for video cards with Fermi architecture, it was decided to buy the cheapest video card in the nearest store with only two requirements: Fermi 2.0 and more than 768MB of onboard memory. The choice fell on a video card: worth a little more than 4 thousand rubles.

Video card specifications Gainward GeForce GTX 550 Ti 1024MB (NE5X55T0HD09-1061F):
40nm GF116 chipset (GeForce GTX 550 Ti), 1.17 billion transistors. DirectX 11 GPU with Shader Model 5.0 support built for ultra-high performance when using the new graphics capability API - GPU-accelerated mosaic creation.
The core and shader unit operate at frequencies: 900/1800 MHz.
192 stream processors and 8 polymorph engines.
32 texture units. Blending blocks: 24.
384KB unified L2 cache.
Texture fill rate (billion texels/sec): 28.8.
Performance: 691 GFLOPS.


1024MB GDDR5 memory, clocked at 4100MHz. 6x chips Hynix H5GQ1H24AFR T2C with an access time of 0.8 ns, and a frequency of 5 GHz. Available memory: 953MB.
192-bit memory bus (three 64-bit memory controllers are used).
Memory bandwidth: 98.4Gb/s.
Interface: PCI Express 2.0x16.
Chipset heat dissipation: 116W.
Maximum GPU temperature: 100 degrees.
Support for 2-way SLI configuration.
Outputs: DVI-I, VGA, HDMI.
HDMI 1.4a support, including support for GPU-accelerated Blu-ray 3D, x.v.Color, HDMI Deep Color and 7.1 channel digital surround sound.
Support: OpenGL 4.1, DirectX 11 and Shader Model 5.0, NVIDIA PureVideo HD.
Designed to work with monitors with a resolution of 1680x1050 or less.
Two-slot active cooling system with a primitive aluminum radiator with fins (clickable photo).


And 92mm 11x blade fan :

OS support: Windows 7 32/64bit, Windows Vista 32/64bit, Windows XP 32/64bit.
The dimensions of the video card are very compact: 188 x 112 mm.
The GPU is powered by a four-phase converter controlled by an NCP 5395T controller.
The required power of the power supply is 400W or more, the current through the +12V bus must be at least 24A. The power supply must be equipped with one 6-pin power connector. On a video card, the additional PCIe power connector is located on top of the video card, and not on the side, which is much more convenient when mounted in a case:


The map has been added to the old system unit with dual core Intel processor Core 2 Duo E6400 + Asus P5B Deluxe (Intel P965 Express with PCI bus Express x16 of the first revision with a bandwidth of 8Gb / s) and a standard power supply GPS-500AB-A (500W, three 12V lines give out: 16 + 18 + 18A, 2x 6pin PCIe connector) that went into the load with the Chieftec UNI BA-02B case -B-SL. Those. buying a more voracious card could lead to buying more powerful block nutrition. Our goal is to find out what will give us, a simple replacement of the video card with a more modern one that will support GPU acceleration in Adobe Premiere Pro CS5 and CS5.5. The screwless fastening of the expansion slots of the Chieftec UNI BA-02B-B-SL case cannot work with this video card, since its two-slot cooling system, namely the decorative plastic casing, interferes with the fastening. I had to fix the video card with screws in the old fashioned way.


Install the following drivers (*work only with WHQL drivers, after installing them, restart your PC):

Launch Adobe Premiere Pro CS5 and select Project Settings: Mercury Playback Engine Software Only.

Choose a preset for the sequence: DSLR 1080p25. We make a clip according to the length of the sound composition:

The clip consists of sources: Canon 550D, 5D, PNG sequence, M-JPEG footage and JPEG photo. The following effects have been applied: Track Matte Key, Ultra Key, Time Remapping, Gaussian Blur, Fast Color Corrector and Black & White. The following functions were also used: Scale to Frame Size, Frame Blend, changing the PAR of the PNG sequence and the Color Dodge blending mode.
Next, three export options: H.264 Blu-Ray, Match Source Attributes (High Quality), ie. this option does not change the resolution and frame rate. The second option: Mpeg2-DVD, PAL Widescreen High Quality, the standard scaler is also involved here, which lowers the resolution to 720x576. And the third option, the same as the second, but with the checkbox turned on: Use Maximum Render Quality.

All other tests will pass using the GPU. But first you need to enable video card support. Go to the directory: C:\Program Files\Adobe\Adobe Premiere Pro CS5 run the application GPUSniffer.exe and remember the name of the map.


Next, in the same directory, open Text Document: cuda_supported_cards.txt and enter the name of the video card there (if the card is not visible to the program, then we read about connection errors). Further, the tests were carried out on the Premiere Pro CS5.0.3 version (to see how Fermi optimization works). It is worth considering that after the update, when loading the project, an inscription will appear:


So for each version of the program participating in the test:

It is necessary to rewrite the text document: cuda_supported_cards.txt.

And accordingly check in Project > Project Settings > General which engine is selected:

Once we select: Mercury Playback Engine GPU Acceleration the bar above the timeline will change color from red to yellow.

To render the clip, Adobe Media Encoder was not used. Here is the final table with the results:

Even a budget video card can significantly speed up a number of operations on a slow PC. It is also worth noting that with each update, the GPU of the video card is being used more and more efficiently. Since one of the advantages of the program is good scalability, the results on powerful PCs will be completely different.
*In addition to the standard 1GB on-board memory, GeForce GTX 550 Ti chipset-based graphics cards can be shipped with the following memory sizes: 1.5GB, 2GB, 3GB, and 4GB.
* For those who like to save money: in fact, the video card is an overclocked version of the even more budgetary GeForce GTS 450 (GF106) video card, the GeForce GTX 550 Ti has increased clock frequencies, the 128-bit memory bus has been increased to 192-bit (by including a third controller) and the number of ROPs has been increased from 16 to 24. That's it. pros GeForce GTS 450: much lower price and consumption, only 106W (i.e. even less power supply requirement).
The GeForce GTX 460 (GF104) 768 MB video card is not suitable for us, since part of the memory is occupied by a "server" and, as a result, the available memory does not meet the requirements of the Mercury Playback Engine GPU Acceleration. Although it is faster than the GeForce GTX 550 Ti.
*Whoever has the opportunity to pay a little extra is better to pay attention to the GeForce GTX 560 Ti (GF114), it is slightly ahead of the performance of the "gluttonous" GTX 470 and much faster than the GeForce GTX 460 768MB, GeForce GTX 460 SE and even more so the GeForce GTX 550 Ti, and can serve as that golden mean. The GTX 560 Ti differs from the GTX 560 in that it includes an eighth polymorphic engine (multiprocessor) with an additional 48 stream processors (there are 7 in the 560), 8 additional texture units and raster units and increased power by 20W, almost at the same price.
Outside the brackets were completely budget solutions, for example, a resource studio1productions.com actively promotes the use of the budget solution GT 240 (GT215 core) for not very powerful systems (this video card is positioned by the manufacturer as a budget CUDA accelerator for the home). But even here there are nuances, since budget solutions have several options for video cards under one code name. So, when using a GT 240 1GB GDDR5 video card, we will get a 45% increase in speed in Premiere Pro CS5.5 compared to using a GT 240 1GB DDR3. It's all about the memory bandwidth, with a 128-bit memory bus and GDDR5 running at 3.4GHz, we get a memory bandwidth of 54.4GB/s. When using a 128-bit access bus and DDR3 memory running at 1.58GHz, we get the memory bandwidth = 25.28Gb/s (calculated using the formula: 128 x 1580/8).
The GeForce GTX 550 Ti is also recommended for UltraScope, DeckLink, Multibridge and Intensity capture cards from Blackmagic Design. The list includes video cards: nVidia GeForce GTX 285, nVidia GeForce GTX 550Ti, nVidia GeForce GTX 570 and nVidia GeForce GTX 580. Minimum Requirements: OpenGL 2.1 support and Texture Fill Rate over 22,000 MT/s.
About benchmarking GeForce graphics cards GTX 550 Ti with GeForce GTX 650 we read, but about the comparison with the GeForce GTX 650 Ti.
*On more powerful system, you can see a big difference between video cards of different classes. Therefore, it makes no sense, for example, to use a bunch: a dual-core processor and a video card of the GeForce GTX 580 class.
!!! Be careful, in retail there are video cards MSI GeForce GTX 550 Ti 1024MB GDDR5 () with declared frequencies of 900/3800 MHz (against 900/4100 for the reference, which should already be a wake-up call). In reality, everything is much sadder: under the guise of a GeForce GTX 550 Ti (built on GF116 / Fermi 2.0), a relabeled MSI N450GTS-M2D1GD5(built on GF106 / Fermi 1.0) with 783MHz core clock and 1GB GDDR5 memory clocked at either 3608 or 3200MHz. 128-bit memory bus instead of 192-bit. And 144 stream processors instead of 192.

The video card overclocks to 900/4000 MHz, but a 128-bit bus against a 192-bit one is a significant minus.

Hi all! Today we will activate the CUDA GPU (if your graphics card has one). In the new version of the Adobe package programs, as the manufacturer claims, it is written a large number of supported video chipsets, but in practice this turned out not to be the case, but this is a trifle, since you can do everything yourself.

WHAT IS CUDA?

CUDA is an architecture parallel computing from NVIDIA, which allows you to significantly increase computing performance through the use of GPUs (graphic processing units). To date, sales of CUDA processors have reached millions, and developers software, scientists and researchers are widely using CUDA in various fields, including video and image processing, computational biology and chemistry, fluid dynamics modeling, computed tomography image reconstruction, seismic analysis, ray tracing, and more.

So what do we need?

1. Go to the Nvidia website and download latest version drivers for your mac CUDA drivers: http://www.nvidia.com/object/mac-driver-archive.html

2. Open the terminal and type in the following command

3. /Applications/Adobe\ Premiere\ Pro\ CC/Adobe\ Premiere\ Pro\ CC.app/Contents/GPUSniffer.app/Contents/MacOS/GPUSniffer

4. Find our video card model (for example: GeForce GTX 580)

5. sudo nano /Applications/Adobe\ Premiere\ Pro\ CC/Adobe\ Premiere\ Pro\ CC.app/Contents/cuda_supported_cards.txt

6. Adding the name of your card to the list

7. Save :

8. For After Effects*sudo nano /Applications/Adobe\ After\ Effects\ CC/Adobe\ After\ Effects\ CC.app/Contents/raytracer_supported_cards.txt

9. Scroll to the very bottom and insert the name of your video card

10. Save : Control+X, then Y apply changes

11. We select in CUDA programs and enjoy the resulting acceleration during installation

You can see the activation in the video below.

The Adobe Mercury Playback engine at the heart of Premiere CS5 only supports CUDA acceleration for a few Quadro graphics cards and GeForce GTX 285. However, determining video card support is done by simply comparing the name with the list, and the list can be modified to add support for other NVIDIA-based video cards.

To add CUDA acceleration support for a graphics card, make sure the following conditions are met:

  • used full version Adobe Premiere CS5. Trial version is not supported.
  • The graphics processor of the video card has a CUDA compatibility level of 1.1 or higher. G80 based graphics cards are only level 1.0 and are not suitable for the Mercury Engine.
  • The video card has at least 896 MB of video memory. Although only 765 MB is required to enable acceleration, this memory must be fully available to the application, and part of the video memory is always occupied for maintenance. GUI Windows and exchange with the driver, so with a card with 768 MB of video memory, the application will have less than 765 MB available and the acceleration will not work.
  • Installed NVIDIA driver versions not lower than 197.45.

Perform the following sequence of actions:

  1. Run command Windows string(cmd.exe ) as administrator. Use the cd command to navigate to the folder where Premiere is installed (usually C:\Program Files\Adobe\Adobe Premiere Pro CS5).
  2. Run GPUSniffer.exe
  3. Examine the output of the program carefully. It should end with the line " CUDA Device # 0 not chosen because it did not match the named list of cards". If another reason is given (" because 765MB are required, and XXXMB are present», « because CUDA version 1.0 is not supported""), then the video card is not supported, or the NVIDIA driver is not installed correctly, uninstall and install new version drivers. Remember also the line like " Name: GeForce XXXXXX Compute capability: 1.3”, GeForce XXXXXX is the name of the card under which it will need to be added to the list.
  4. Execute the command notepad.exe cuda_supported_cards.txt
  5. In Notepad, add the last line to the card name that you learned in step 3 and save the file.
  6. Run the GPUSniffer.exe command again. Review the output and make sure the line "CUDA Device #0 supported" is present at the end.
  7. Launch Adobe Premiere. Create a new project and go to its properties. On the "Video Rendering and Playback" tab, change "Mercury Playback Engine Software Only" to "Mercury Playback Engine GPU Acceleration".

Be aware of the following limitations of CUDA hardware acceleration in Premiere:

  • Mercury Playback does not speed up video encoding / decoding - this is the work of the codec. Simultaneously working with a project and exporting a project with a codec that also uses CUDA acceleration can lead to unpredictable results.
  • Not all effects are accelerated.
  • Acceleration works correctly only for the first three layers, subsequent layers can only be partially processed by hardware and image artifacts are possible.
  • The maximum resolution of the processed video and the number of layers depend on the amount of video memory. It is recommended to enable the CUDA acceleration function only for video cards with more than 1 GB of memory.

I love Nvidia because their cards support a lot of cool stuff like PhysX and of course CUDA. Suddenly, the question arose about converting video, and, of course, I decided not to strain my Core i7 with these matters, let it drive the system, and I already have two shameless gf110 chips from GTX780 video cards in stock. But the converters suddenly began to show off that they did not find CUDA-enabled devices from me! I searched on the Internet and found out that nvidia turned off support for CUDA officially updated the API for CUDA and now the dlls are in the Deprecated state, starting with the driver 340.52 and the next.

Update 1

It turns out that nvidia updated the API for CUDA and therefore none of the programs work at the moment. It remains only to wait until everyone updates the programs in support of the new API, for now you can use the hacks below. You can read the thread about it.

Solutions

  • Install old driver 337.88
  • Unzip this archive to C:\Windows (x64 only)
  • Download modified driver 344.11 from Cyris

P.S.

P.S.S (01/09/2017): The post is old. Perhaps all of the above will no longer help, so just update the converter program. Most of them already know how to work with the new CUDA interface, so all these shenanigans are no longer required.

Internet