GPU-based video encoding is fast because all of the macroblocks can be processed at once, whereas a CPU-based solution must iterate through each macroblock one-by-one. However, critics out there are quick to point out that you can't just do that! Video encoders, they claim, need to operate on one macroblock at a time to perform tasks such as entropy-coding or to calculate motion vector deltas between macroblocks. The critics are right, partially. There are indeed dependencies between the macroblocks, as implied by the various video standards, such as H.264 and MPEG-2. How is it possible, then, to process a frame's worth of macroblocks in parallel, if there are dependencies? Well, that's the magic of the RapiHD technology. With some very clever parallel algorithms, it is possible to come up with global solutions for a frame that are as good as (if not better than) an approach that computes one macroblock at a time. The idea is to maximize the parallel processing, and minimize the need for serial operations. Elemental Technologies prides itself on being a forerunner in the area of parallel techniques for video encoding. Parallel programming on a GPU is an art, related to but different from the art of CPU-based programming. Algorithms that run fast on a CPU are not the same as those that run on a GPU, and vice-versa. Like peanut butter and chocolate, NVIDIA claims that the GPU and CPU are better together than separate. Elemental has found that this is true. Some jobs are best done on a CPU, and some are best on a GPU. Together, powered by the right mix of GPU and CPU software, your whole computer can be a video-encoding workhorse. For the skeptics, an interesting fact is that the GPU is the computing bottleneck in the RapiHD flow. Because GPUs have historically increased in computing power faster than CPUs, the RapiHD technology will continue to track with that faster growth curve, as opposed to pure software encoders, which will also benefit over time, but only by tracking CPU computing growth curves. Thus, RapiHD is poised to not only blaze ahead in the short term, but continue to do so well into the future. Editor's note: Carter is one of the key architects behind the RapiHD Video Platform, and an avowed fan of peanut butter and chocolate -- but only in combination.
Ever since I first moved a turtle around the screen with Logo at an OMSI science class, I've been fascinated by technology. From Logo to BASIC to Pascal to Object-Oriented Pascal (yep, Brown used to use OOP as it's entry-level class CS15 programming language!), I've enjoyed watching computers evolve from frustrating devices with non-intuitive interfaces that managed to crash JUST before you hit Ctrl-S to the connected communication tools they are today. As an aside, this love of technology greatly disappointed my mother, who wanted all her boys to be writers -- I'm sad to say that all three of us have disappointed her at this point (although I'm sure she's holding out hope that there is still time for Eli to see the light!). Over the past few years, however, from a user standpoint it felt like the evolution has slowed down a bit. Who hasn't bought a new computer -- loaded with a fast CPU, tons of memory, big hard drive -- and booted Word ... and waited. And waited. Computers don't seem much faster today than they did a few years ago, despite sporting user interfaces that haven't changed much since the mid-90s. One of the great things about working at Elemental is that the platform we are developing for, the GPU, has the potential to change all that. The massive parallelism -- hundreds of processors -- in the architecture redefines what is possible for desktop and notebook computers. We think our Badaboom Media Converter is one great example of next-generation apps powered by the GPU, which will make it much easier for consumers to format their media. The RapiHD Accelerator for Adobe Premiere Pro CS4 will be similarly disruptive for video editing workflows. Another great example is the Piclens GPU-powered image viewing technology from the folks at Cooliris. After seeing image galleries rendered with Piclens, you won't ever want to browse a directory structure again. The hardware side of the GPU world is equally dynamic these days. While NVIDIA has been leading the charge in visual computing for several years now, AMD and Intel are showing renewed interest in the category. Last week there were several announcements from these two heavyweights:
- Intel announced additional technical details on the Larrabee architecture. They also presented an overview of the chip at this week's SIGGRAPH show in Los Angeles. Larrabee will be a many-core x86-based GPU, with a radically different architecture than current GPUs from NVIDIA and AMD/ATI. Although Larrabee won't be available until 2009, these tantalizing early morsels are exciting to see from the CPU king.
- AMD released it's next generation GPU, the R770. With 800 stream processors, this chip has 956M transistors on it -- and with the 4870 x2 card, there are two of these chips on one card! While this appears to be a very competitive card for gamers, until OpenCL is more widely available it will be difficult to take advantage of this line of cards for general-purpose GPU (GPGPU) programming. For an in-depth look at the latest AMD GPUs, take a look at the thorough reviews on Anandtech.
As should be clear by now, it's a very exciting time to be a player in the visual computing ecosystem. There is tremendous competion driving architectural innovation and reasonable pricing. The computational horsepower available is enabling killer new software applications. GPU-based computing is a disruptive technology that has the potential to redefine the user experience for all of us!
Elemental is going to be at a variety of upcoming trade shows over the next few months. This is a great opportunity to see the software in action as well as meet the team behind the technology. If you are attending any of the following shows please make sure to stop by and say hi. More details are also on our news site here. If you'd like to set up an appointment to visit the booth, please email our accounts team using the contact form.
- SIGGRAPH 2008, August 12th - 14th, Los Angeles Convention Center in Los Angeles, CA
- Booth #554
- NVISION 2008, August 25th - 27th, San Jose Convention Center in San Jose, CA
- Booth #230
- IBC 2008, September 11th - 16th, RAI Center in Amsterdam, Netherlands
- Booth #TBD
- Interbee 2008, November 19th - 21st, International Conference Hall, Chiba, Japan
- Booth #TBD