E-Mail:

What’s The Next Big Thing?

So much is changing these days in computers. It has been that way for years, however, the pace has accelerated, and things we never thought would happen have happened.

Ten years ago who, other than chip designers, thought we would see so many multicore processors? We have multicore processors in children’s toys! The Cell processor in the PS3 is a multicore design.

Of course now we have graphics cards that consume more power than the CPU, as computing has become so graphics intensive. I’m not sure anyone saw that one, because I think most thought the CPU and GPU power requirements would follow a parallel path.

Speaking of parallel paths, a former editor of Byte magazine (my all time favorite, in case anyone cares) speaks of parallel processing being the next big thing. It is happening now; we can see it. It is not the same sort of statement such as the one 15 years ago when a few proclaimed that RISC processing would take over the world, and the x86 CISC architecture would be left in the dust. (Well, it might happen now, but it will be happening on a GPGPU, not a ’standard’ CPU in the way it was once predicted.)

After decades of fitful progress, parallel processing is suddenly hot and will soon be commonplace on ordinary PCs. For applications rich in data-level parallelism, performance is soaring by leaps and bounds.

• This is not the type of computing the average user does. It might happen when parallel processors become more common, and compilers are written to take advantage of it.

Multicore CPUs from Intel and AMD are all good, but the game-changers are the next-gen GPUs from Nvidia and AMD/ATI. These chips are evolving from highly specialized 3D-graphics processors for games into broader computing engines for nongame software. Nvidia is leading the charge with a new GPU architecture that, for the first time, supports general-purpose computing as strongly as it supports graphics.

• Again, the hardware power is there, but the software is behind the curve. This is the problem. No one, other than scientists are really excited about this just yet.

Nvidia’s new Fermi GPUs will support error-correction codes (ECC), one terabyte of memory, concurrent kernels, and faster double-precision floating-point math. These features are largely unnecessary for 3D graphics but vital for high-performance general-purpose computing. (In fact, ECC slows down graphics processing, which is why it can be disabled in Fermi chips sold for the consumer market.)

With Nvidia’s CUDA development tools, programmers are accelerating some tedious media-processing tasks, such as video transcoding. CUDA uses the GPU’s programmable 3D-graphics shaders as massively parallel processor cores, delivering performance that today’s PC processors can’t match. In addition, GPUs are finding new applications in scientific computing, financial analysis, medical imaging, energy exploration, and engineering.

Other developments are equally exciting. Microsoft’s DirectCompute brings a parallel-processing API to millions of mainstream PCs running Vista and Windows 7. The new OpenCL standard makes parallel programming easier and less proprietary. Apple’s Snow Leopard (Mac OS X 10.6) supports OpenCL and Apple’s Grand Central Dispatch technology (now open source), allowing programmers to distribute workloads across multicore CPUs and GPUs.

• Someday, the CPU will be the master processor, not the most powerful, but the most important one, as it will choreograph the workings of the other processors in a machine.

Intel is busy, too. With its own new GPU (Larrabee) on the way, Intel has acquired two small companies specializing in software tools for parallel programming—RapidMind and Cilk Arts. RapidMind is especially cool, because its software bridges GPUs, multicore x86 processors, and even IBM’s Cell Broadband Engine.

Parallel processing is spreading to the masses, and parallel-programming tools are catching up with parallel-processing hardware. When these trend lines finally converge, we’ll wonder why it took so long.

It’s coming, but it will be some time, primarily because so many still say there is no need for the average consumer. When someone figures out that we will use whatever amount of computing power we can get hold of, the applications will come, and the hardware will follow.

Think of the things that Joe Average can do now. My mother never had a clue when she was growing up that people would be able to essentially become their own publishers. There was no clue that information would be available on a giant connection of computers worldwide, or that it would be, for the most part, free.

People will soon be able to build things for personal usage as easily as they print things from a printer today – this technology is already available, but very expensive, soon, kids will be “printing” their own toys, from plans in a book, or moms will be “printing” the latest fashions, for that party held that evening.

The complex computations needed for these things will be done with parallel processing, and it will seem as natural as dialing a cell phone does now.

§

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Opera, the fastest and most secure web browser

What Do You Think?

You must be logged in to post a comment.

Posted Recently