A few months ago during the Radeon HD 7970 launch we discussed how AMD would be revising their ISV relations. While their efforts with ISVs in the past few years had been decent, AMD had not put a lot of money into it, and what money they did have was controlled by a relatively large bureaucracy. Consequently their efforts paled in comparison to NVIDIA’s, who put in far more money and effort into the process.
As a result one of AMD’s reforms for 2012 was going to be that they were going to put more money into ISV relations in order to catch up to NVIDIA. And while our discussion with the 7970 last year focused on the gaming side of things, AMD is also throwing more money behind ISV relations for their professional graphics business. After hitting a significant low against NVIDIA’s Quadro lineup, AMD’s market share for professional graphics has rebounded based on the strength of their 40nm DX11 GPUs, and AMD is looking to keep that momentum going with these improved ISV relations.
The first such major partnership of the year is with Parametric Technology Corporation (PTC), a firm specializing in product lifecycle management software and CAD/CAM software. Earlier this month PTC launched their Creo 2.0 suite of applications, of which AMD has had a significant hand in helping PTC optimize. Specifically, AMD’s ISV group has been working on Creo Parametric 2.0, PTC’s CAD/CAM application.
With Creo Parametric 2.0, AMD and PTC have added support for a couple new features intended to significantly boost performance. The first is Order Independent Transparency, which you may recall from the launch of the Radeon HD 5870 back in 2009. Order independent transparency allows for quickly assembling a frame containing multiple transparent elements without sorting them first. In this case it allows Creo Parametric 2.0 to do accurate per-pixel transparency ordering at a much faster rate than in standard blending.
The other feature AMD helped PTC add was support for Vertex Buffer Objects, more commonly known as VBOs. As the name implies, VBOs are buffers of vertex data, the significance being that VBOs allow for vertex data to be stored as objects in VRAM rather than streamed to the video card during the rendering process. In situations with a great deal of polygons – and hence vertex data – VBOs can significantly speed up rendering, which is what PTC is doing in Creo Parametric 2.0 by using VBOs to speed up viewport performance. Like order independent transparency this isn’t a new idea – in fact it’s been around since OpenGL 2.1 – but this is a good example of how slowly CAD/CAM software adopts new technology compared to consumer applications.
As far as performance goes, AMD and PTC are looking at upwards of 9x the performance of PTC’s older software when it comes to transparency-bottlenecked situations, and a 5x improvement in viewport performance in situations similarly bound by vertex performance. Both of these changes are rather small elements of the complete rendering pipeline for Creo Parametric, however as far as AMD is concerned this is a great example for how offloading work to the GPU and making small optimizations can have a huge impact. And as a case study it's one they will no doubt be using to drive future ISV partnerships.