Single page Print

GTC 2010: GPU computing grows up

Nvidia looks to take the GPU beyond graphics

Nvidia's GPU Technology Conference had its beginnings two years ago, as part of Nvision, a broadly focused trade show and technical conference centered around all things Nvidia, or as the firm put it at the time, the "visual computing ecosystem." Nvision encompassed jarringly disparate elements, from the gamer-oriented GeForce LAN party to an "emerging companies summit" intended to pair start-ups using GPU-based technology with venture funding. That event was even open to the public, and featured appearances from notable rent-a-celebs such as Battlestar Galactica siren Tricia Helfer and the Mythbusters guys.

Turns out that mix of things, though interesting, didn't mesh terribly well, so last year, the firm killed off Nvision and opted to host the more narrowly focused GPU Technology conference instead—with an emphasis on GPU computing in a much smaller venue. This year, GTC was more tightly focused than ever, but it was back in the San Jose Convention Center. In spite of the larger venue, the halls and session rooms were frequently packed with attendees, and conference attendance seemed to be up substantially.

The bottom line is that GTC is growing even as it specializes on just one aspect of Nvidia's business, the CUDA platform for GPU computing. That's just one of many signals that point to an undeniable trend: the use of GPUs for non-graphics computation is on the rise, led largely by Nvidia's efforts.

Those who are familiar primarily with the consumer side of Nvidia's GPU business, headlined by GeForce graphics cards, may scoff at the notion that CUDA is gaining real traction. For years now, Nvidia has touted the benefits of GPU computing to potential GeForce owners while software developers have delivered precious few consumer applications that truly take advantage of its power. The consumer PC market seems to be waiting for a non-graphics application that really requires GPU-class computational throughput and for a cross-platform programming language—something like OpenCL, perhaps—to make it ubiquitous.

However, some folks don't have the patience for such things, and they already have applications that require absolutely all of the processing power they can get. Those folks come from the halls of major research universities, from the R&D arms of major corporations, from motion-picture animation studios, and from the fields of oil and gas exploration. These are the people who build and use supercomputers, after all, and they can easily tax the capabilities of today's best computers by attempting to simulate, say, the interactions of particles at the nanomolecular level. If the attendance and participation in GTC's many technical sessions and keynotes is any indication, Nvidia appears to have taken the spark of a nascent market for GPUs four years ago and nurtured it into a healthy flame today.

GPU computing comes of age
The story starts four years ago with the introduction of the G80 graphics processor, Nvidia's first DirectX 10-class GPU and the first chip into which the firm built notable provisions for GPU computing. At that time, Nvidia also introduced CUDA, its architecture model for harnessing the prodigious floating-point processing power and streaming memory throughput of the GPU for non-graphics applications. Since then, Nvidia has made GPU computing and Tesla-branded expansion cards one of the four key pillars of its business, investing substantial effort and money in building the software and development tools required to make GPU computing widespread.

Those efforts are beginning to pay off in tangible ways, as evidenced by a series of major announcements that Nvidia CEO Jen-Hsun Huang made in the GTC opening keynote speech.

The first of those was the revelation that compiler maker PGI plans to create a product called CUDA-x86. That name may lead to some confusion in certain circles, but the compiler won't let PC-compatible programs run on a GPU (such a beast isn't likely to work very well, even if it would answer some persistent questions about Nvidia's business challenges). Instead, it's the inverse: the PGI product will allow programs developed for the CUDA parallel programming platform to be compiled and executed on x86-compatible processors. As the PGI press release states, "When run on x86-based systems without a GPU, PGI CUDA C applications will use multiple cores and the streaming SIMD (Single Instruction Multiple Data) capabilities of Intel and AMD CPUs for parallel execution." The availability of such a tool should assuage the concerns of application developers about being locked into a proprietary software solution capable of running on only one brand of hardware. Also, it could allow supercomputing clusters with heavy investments in x86 processors to develop CUDA applications that take advantage of all available FLOPS.

No less significant was the string of technical software packages that will be incorporating CUDA support, including the MatLab accelerated development environment, the Ansys physical product simulation tool, and the Amber molecular dynamics simulator. These announcements extend GPU computing's reach in the worlds of engineering and research without requiring users to have an in-depth understanding of parallel programming.

To further bolster the case that GPU computing uptake is on the rise, Huang cited a trio of new server solutions that will integrate Tesla GPUs, most notably an IBM BladeCenter offering. In fact, he claimed every major server maker (or OEM) in the world now offers Tesla-based products. Huang's goal for the keynote was no doubt to highlight the growing momentum for GPU computing, but the evidence he was able to cite was undeniably impressive.

Huang then unveiled what may have been the most widely reported slide from the keynote, offering a brief glimpse at future Nvidia GPU architectures and their projected performance per watt in double-precision math. He also noted that some additional computing-centric features will make their way into Nvidia's GPUs between now and 2013, including pre-emption (for multitasking), virtual memory with page faulting, and the ability for GPU threads to be non-blocking. (The middle item there came out only as "virtual memory," but we confirmed the page faulting feature later, on a hunch, since basic virtual memory is already a part of the Fermi chips' feature set.) It wasn't much information, but this quick look at the path ahead was unprecedented for Nvidia or any GPU maker, since they typically hold their cards very close to the vest. This deviation from the usual practice, Huang later explained, came because he wanted to assure developers that additional computational power is coming and to encourage them to plan to make use of it. Public roadmap disclosures are traditionally the work of processor companies like Intel, and in a sense, that's what Nvidia intends to become.