On 11 March 2002 Creative Labs, of SoundBlaster and 3DBlaster fame, surprised many by announcing the purchase of the high end workstation 3D vendor 3Dlabs, thus ditching their former role as a 3D board vendor to go vertical in this market space by producing their own chips and bringing the boards to market – a risky strategy giving the number of high profile failures of this model in the consumer 3D market space. So, what was it that prompted Creative into such a bold and possibly risky manoeuvre?

Our interview with 3Dlabs subsequent to Creative’s announcement indicated that the deal transpired after 3Dlabs were canvassing vendors to bring their newest chip into the consumer space; seeing as Creative were already shareholders of 3Dlabs, Creative must have been convinced in the prospects for the chip and decided to go the extra mile and purchase the rest of 3Dlabs. On 3 May 2002, 3Dlabs announced the new architecture, codenamed P10, that caught Creative’s eye and brought a whole new acronym into our lives: VPU (Visual Processing Unit).

I recently had the opportunity to chat with 3Dlabs Senior Vice President Market Development, Neil Trevett about the architecture and how it differs from current 3D chipset offerings available. What follows is Beyond3D’s slightly more detailed tech preview of the P10 ‘VPU’ architecture based on that conversation with Neil.

Creative and 3Dlabs

The reason these technology announcements have been made is that the deal by Creative to purchase 3Dlabs has now been given full approval by the shareholders of 3Dlabs.

3Dlabs will operate as a completely independent subsidiary of Creative and the 3Dlabs name will remain, along with the Oxygen and Wildcat brands, bringing their boards into the professional workstation market, hopefully with increased support and investment from Creative. Creative will be responsible for bringing the architectures that 3Dlabs design into the consumer desktop space; with Creative’s manufacturing and distribution channels through their current ranges its hoped that these designs can attaint quite a high level of success.

On an ongoing basis all architectures from the 3Dlabs stable are likely to be developed from the P10 design, which also includes parts from the former Intergraph Intense3D development team who are responsible for the Wildcat series of high-end workstation boards. Although its thought that the P10 architecture does have some level of scalability (Neil Trevett was coy about this) its likely that the Wildcat development team will be further extending that, and integrating some of Wildcat’s specialty features such as SuperScene AntiAliasing, in order to bring very high end workstation variants of the VPU architecture.

Visual Processing Unit?

If you are wondering, the concept of the VPU is to bring the best elements of a graphics chip and combine them with the best of a CPU.

Current graphics processor are very hardware oriented – there are lots of elements of hardware dedicated to doing individual tasks as fast as possible; the problem with this type of design is that it its not very complier friendly and limits what can be achieved on the hardware. Alternatively, CPU’s are very flexible but are not very good for graphics; over the years of development, CPU’s have gained fantastic abilities in language programmability, virtual memory, multitasking, etc., so that they can handle all the various forms of multimedia content that the modern PC has to offer very well. P10 is trying to bring together the best of both worlds – flexibility of CPU’s with the speed of graphics chips.

Because of the enormously taxing requirements of high end visualizations systems they tend tend to be based on sophisticated software renderers as this can also afford them scalability – one of P10 tasks is to accelerate large sophisticated software, Renderman-like operations in hardware for the first time, which current hardware isn’t able to because of its fixed function nature. Another task for the P10 VPU is to virtualise processor and memory resources to increase performance and flexibility.

Path to Programmability

The image below shows the path of development that 3D chips have taken over the past few years.

Click for a bigger version

Initially 3D processors have been very fixed function in their operations, meaning only what has been implemented in hardware can be run on them; however as time goes by and they have developed more an more programmable elements have been integrated.

The Wildcat series already started down with programmable elements when they were first released – the onboard geometry processing units were actually programmable to some degree. However this was only exposed to 3Dlabs, with developers all they could see was the standard Transformation pipeline since there was no API support to effectively expose the programmability. With the current crop of high end consumer boards such as GeForce3/4 and Radeon 8500, programmable vertex processing also came to the fore in Vertex Shaders. Pixel Shaders were also brought forth by this hardware, and although it is introduced the more flexible texture combiner stage its still not completely programmable. For the fist time the P10 VPU allows programmability through all these stages.

The high level pipeline diagram above indicates that the chip functions of the P10 VPU architecture is much the same as a normal 3D graphics chip, with Transformation & Lighting elements occurring before the raster functions. However, the following diagram highlights (in yellow) the programmable elements of the P10 chip which does differ from other designs currently available.

Click for a bigger version