Nvidia, trying to move its graphics chips into the supercomputing
market, has found a niche helping engineers build brain-like systems
called neural networks.
For years, the company has advocated the idea of offloading processing
tasks from general-purposes central processing units (CPUs) to its own
graphics processing units (GPUs). That approach has won over some
researchers and companies involved with neural networks, which reproduce
some of the electrical behavior of real-world nerve cells inside a
Neurons in the real world work by sending electrical signals around the
brain, but much of the actual functioning of the brain remains a
mystery. Neural networks in computers, somewhat perversely, emulate this
mysteriousness. Instead of running explicit programming instructions to
perform a particular job, they’re “trained” by handling source data
that creates communication patterns among many nodes in the neural
network. The trained neural network then can be used to recognize
patterns — or cat pictures like one Google research example that’s now commercialized as part of Google+ photos.
One Nvidia customer is Nuance, which uses neural networks to develop
speech recognition systems that ultimately end up in places like
or tech support phone lines. “We have been working with GPUs for over
four years, but the recent models — specifically the ‘Kepler’ line from
Nvidia are providing the most substantial benefits,” said Nuance’s
Chief Technology Officer Vlad Sejnoha in a statement. “We use a
large-scale computing grid composed of a mixture of CPUs and GPUs, and
are achieving an order of magnitude speedup over pure CPU-based
Neural network experts at Stanford University — including Andrew Ng,
who’s worked on neural networks at Google — have been working on
marrying GPUs to neural networks. In a paper (PDF
) for the International Conference on Machine Learning
, they describe their work to get around thorny issues of getting the right data to the right GPU.
“Attempting to build large clusters of GPUs is difficult due to
communications bottlenecks,” they wrote in the paper, but the
researchers’ approach “might reasonably be packaged into optimized
software libraries” to help others with the problem.
GPUs are particularly well suited to doing large numbers of calculations
that can take place in parallel. CPUs such as Intel’s Core line are
generally designed for tasks that run sequentially instead of being
split into independent chunks, though multicore models of the last
decade are increasingly parallel.
Still, general-purpose CPUs are not as parallel as GPUs, and Nvidia has made inroads into the Top500 list of the fastest supercomputers, with GPUs giving 39 machines a processing boost.
Intel isn’t standing idly by while GPUs gain ground. It’s got its own
accelerator technology, the Xeon Phi co-processors, which plug into
servers’ PCI Express expansion slots. The current fastest supercomputer,
the Tianhe-2, gets a boost from the Phi chips.
On Monday, Intel detailed its second-generation design, code-named
Knights Landing, which will be built on the next-generation 14nm
manufacturing process that enables more circuitry to be crammed onto a
given sized chip. Two significant changes: the Knights Bridge
co-processors will be able to plug straight into a regular CPU socket,
which should make programming easier, and they’ll have a built-in memory
controller for faster data transfer.
In addition, Intel introduced new products based on the
current-generation Phi chip, including the 7100 that doubles available
memory to 16GB, the less expensive 3100, and the 5120D that can be
mounted in a chip socket for high-density computing designs that lack
room for a plug-in card.
Intel argues its approach is easier to program. Nvidia’s GPU programming
technology, though, called CUDA, has been maturing for years.
At the supercomputing conference, Nvidia announced CUDA 5.5, which lets
programmers use GPU-based programs on machines with ARM-based CPUs, not
just x86-based CPUs such as those from Intel. ARM processors are selling
like hotcakes for use in smartphones and
because of their energy-efficient designs, and now they’ve begun
expanding into some corners of the laptop and server market, too.
Nvidia itself has licensed the ARM design for its own Tegra processors,
so it’s got a vested interest beyond just graphics chips in seeing CUDA
and ARM succeed.
CUDA on ARM systems isn’t just for supercomputers, though. Roomba is
using the technology for image recognition to help robots navigate
better, and it can be used to help things like videogame physics engines
on mobile devices to give realistic physical behavior to things like
blowing curtains or splashing water. In both scenarios, saving battery
life is important, said Roy Kim, marketing manager for Nvidia’s Tesla
“If the workload is right, you’re going to get about ten times the performance per watt over a CPU implementation,” he said.