Last year, I built a new fairly high-end PC system for editing with CS5.5, but I stopped short of buying a video card at the time because I knew AMD was releasing the Radeon HD7000 series in the not too distant future, and that NVidia would be releasing the GTX 600 series in a similar timeframe. (Both series, obviously, have been at least partially released now.) I've been making do quite well with an ancient video card (Radeon HD4870) in the mean time. For personal and historical reasons, I prefer the AMD cards over NVidia, but I've been on the edge of pulling the trigger and ordering a GTX 680 over the last few weeks because I knew it was likely to be supported in the Mercury Playback Engine. However, now that CS6 has been announced and it uses OpenCL, that opens the door for me to stick with the AMD cards, and I just want to clarify that I will get the GPU acceleration on a Radeon series video card on my PC should I upgrade to some 7000 series card and upgrade to CS6. As someone mentioned in the thread I read earlier asked about this but was again more or less just pointed at a reference to Macs with AMD video chipsets, not PCs with discrete AMD cards.

I personally can't afford to upgrade my video card and to CS6 just to find that I don't get the GPU acceleration I was expecting.

True (at least on the initial release of CS6). But also starting with CS6, I am expecting that NVIDIA CUDA GPUs that are not officially supported for GPU acceleration to be semi-permanently locked into the software-only mode (at least until a future update is released): The .txt file may be eliminated altogether and the CUDA GPU support may be hard-coded into the program's executable itself. However, the list of officially supported NVIDIA CUDA cards remains unchanged in CS6 from CS5.5. This means that the new GTX 680 will not be officially supported on release of CS6 since that GPU was introduced after the development of CS6 was largely completed.

And Adobe made a wise move in limiting initial OpenCL GPU acceleration support to those MacBook Pros running OSX Lion equipped with the HD 6750M and HD 6770M chips with 1GB or more VRAM: That particular move was made largely because Apple no longer sells any of its systems with NVIDIA GPUs. The HD 6750M and HD 6770M GPUs in iMacs will also not be supported because those systems with said GPUs have only 512MB of VRAM - too little VRAM to even enable GPU acceleration at all.

I can't say I like these answers, but I have no choice either. If OpenCL support is added to the Mac version, as a programmer I see little reason it can't be added to the Windows version. But this isn't a place for an argument, so I'll just close this on out.

"This time around, at the event introducing GeForce GTX 680 to press from around the world, the company refused to discuss compute, joking that it took a lot of heat for pushing the subject with Fermi and didn’t want to go there again.

The more complete story is that it doesn’t want to go there…yet. Sandra 2012 just showed us that the GeForce GTX 680 trails AMD’s Radeon HD 7900 cards in 32-bit math. And it gets absolutely decimated in 64-bit floating-point operations, as Nvidia purposely protects its profitable professional graphics business by artificially capping perfrmance."

Adobe could easily make everybody happy by simply allowing OpenCL on PC (and not just a few MacBooks)

Why? Wil Rencez has already suggested it may well be possible for Mac users to 'hack' additional Radeons.

Thanks for the clarification. Jim. Unfortunately, there will be no such OpenCL hack for the Windows version of Premiere Pro CS6 because such support will not be initially included with this edition. However, OpenCL support in the Windows edition of Premiere Pro CS6 may be added in a future update.

And what Todd stated about OpenCL support in the OSX edition of Premiere reflects the fact that hacks to enable GPU acceleration support are (or will not be) officially supported by Adobe itself. This means that if any problems arise from such a hack, technical support may be denied until the hack is completely reversed.

I'll leave it to our engineering leads/managers (Steve and Dave) to talk about specifics, but there is actually a lot more engineering and testing work that would need to be done to use OpenCL on Windows.

When Premiere Pro CS5 came out, Premiere Pro could use about half a dozen cards for GPU acceleration. With each update, we added more, so that it's now more than two dozen, including two using OpenCL. From this, it should be very clear that we are taking a conservative but brisk approach to these GPUs: We will only support what we have been able to implement and test fully, and we'll add more as we get specific requests and have the time/resources to do so.

When second-guessing our decisions, be sure to factor in thorough testing of each configuration in addition to the software engineering time. Testing is very often the more resource-consuming part.

Thanks. It makes sense to not enable OpenCL MPE GPU acceleration support for the Windows edition of Premiere since OpenCL for Windows still hasn't matured enough. And with the current state of Windows' OpenCL drivers, the fastest AMD GPU in the OpenCL-enabled MPE GPU-acceleration mode would still have performed slower than an NVIDIA CUDA GPU that costs half as much money in the CUDA-specific MPE GPU acceleration mode.

Although I have now managed to (semi-)permanently lock my particular CS5.5 installation to the MPE software-only mode regardless of the GPU by completely deleting the cuda_supported_cards.txt file. This occurred on my auxiliary editing rig.

David McGavran here, engineering manager for Premiere Pro. You can stop speculating. Porting MPE to OpenCL was hard, very hard! It took an entire cycle to get it to work. It isn't just about the engineering effort it is about the testing effort and making sure it will work. We worked very closely with partners to make this happen. We focused on the mac first because there aren't any NVidia cards in the apple store configurations for our customers here. We focused on the macbooks because many of our customers use these products. We developed the OpenCL code so that it can in the future possibly work on windows. We are very interested in making sure our product uses all the compute power that your computer has. No conspiracy theories just time and effort and balancing all the work we need to get done so that you can have the product you want to use to make great video.

We developed the OpenCL code so that it can in the future possibly work on windows.

That's very encouraging. Please keep up the work. (With the idea in mind that both nVidia and AMD cards can run OpenCL, so there is no though there to dropping nVidia, only their proprietary compute engine. We users want BOTH cards to be an option for hardware acceleration. Let the card makers compete for our dollars on this one.)

David McGavran here, engineering manager for Premiere Pro. You can stop speculating. Porting MPE to OpenCL was hard, very hard! It took an entire cycle to get it to work. It isn't just about the engineering effort it is about the testing effort and making sure it will work. We worked very closely with partners to make this happen. We focused on the mac first because there aren't any NVidia cards in the apple store configurations for our customers here. We focused on the macbooks because many of our customers use these products. We developed the OpenCL code so that it can in the future possibly work on windows. We are very interested in making sure our product uses all the compute power that your computer has. No conspiracy theories just time and effort and balancing all the work we need to get done so that you can have the product you want to use to make great video.

Hope that helps

Dave

If that is the entire story then answer me this; Why is the new ray-trace feature in After Effects made in CUDA? That makes no sense, unless it's some deal with Nvidia.

Why not make it an open standard like OpenGL? Almost all 3D applications I know of uses OpenGL.

If that is the entire story then answer me this; Why is the new ray-trace feature in After Effects made in CUDA? That makes no sense, unless it's some deal with Nvidia.

Why not make it an open standard like OpenGL? Almost all 3D applications I know of uses OpenGL.

I'm not an expert, but I've done some ray-tracing in the distant past with POV-Ray. It's very math intensive, doing thousands of calculations even on small images to accurately portray how light reflects, diffracts, and otherwise lights a given scene. OpenGL, obviously, does something similar, though the big differences are where and how they're done. OpenGL typically does it in the video card's framebuffer and it's somewhat difficult to get an image back from an OpenGL object to be stored as an image, especially as an isolated object like an extruded 3D logo. Ray-tracing through a GPU interface like CUDA or OpenCL is a matter of just getting the calculated results and plugging them into an image; it's not in the framebuffer as a composited image, but it's purely numerical, allowing the calling application to do with it as it pleases. In this case, I'm sure After Effects is building a new layer with transparency and adding the ray-traced results only where they're needed.

In that case, Adobe's experience with CUDA makes more sense to continue, rather than attempting to convert it to OpenCL as they learn that language.

Of course, I may be wrong about the details, but that's how I understand the situation.

One possibility I can imagine is that both cycles were started at the same time. Adding ray-tracing (1) and porting to OpenCL (2). It doesn't seem odd to me that if you wanted ray-tracing in OpenCL, you might well have to wait for the port to complete before you could even start on the ray-tracing.

It's very simple: We used the fastest and most robust thing that was available to us at the time that we started development.

As you've seen, we started with CUDA in Premiere Pro because it was able to provide the performance and reliability that we needed in the Premiere Pro CS5 timeframe... and then we expanded to use OpenCL in Premiere Pro CS6.

On the After Effects team, we looked at many options for the GPU-accelerated ray-traced 3D renderer, and the Nvidia OptiX/CUDA system was what was best at the time... and we're looking at what to do in the future.

The Txt file which can be edited to use unofficially supported Nvidia Cuda cards is still in place. I don't see this as something Adobe would drop since there are many people that use it, but it's never something they would offically endorse simply because they can't guarantee the performance of it, weather it will work, nor if the card has proper cooling to handle it.

The Txt file which can be edited to use unofficially supported Nvidia Cuda cards is still in place. I don't see this as something Adobe would drop since there are many people that use it, but it's never something they would offically endorse simply because they can't guarantee the performance of it, weather it will work, nor if the card has proper cooling to handle it.

That txt file will no longer be necessary (but may still be included) in the next release of Premiere Pro. If one does not have an officially supported GPU, then MPE will be set to software-only by default; however, GPU acceleration (CUDA and/or OpenCL) can be enabled even with that (by simply changing settings in the Preferences), but with the caution that such a GPU in such a mode has not been tested by Adobe. If a given GPU is officially supported in both CUDA and OpenCL, OpenCL will be selected by default.