There is one big reason StreamHPC chose for OpenCL and that is (future) hardware-support. I talked about NVIDIA versus AMD a lot, but knowing others would join soon. AMD is correct when they say the future is fusion: hybrid computing with a single chip holding both CPU- and GPU-cores, sharing the same memory and interconnected at high speed. Merging the technologies would also give possible much higher bandwidths to memory for the CPU. Let us see in short which products from experienced companies will appear on the OpenCL-stage.
First let us look at the new and current types of processors which we encounter now. We know CPU = Central Processing Unit, and GPU = Graphics Processing Unit, but the name of GPU is not correct any more. Therefore companies came up with APU = Accelerated Processing Unit, and SPU = Synergistic Processor Unit. Currently NVIDIA and ARM use GPU, AMD uses APU, and IBM SPU. Combining an CPU with a GPU or APU gives a SPU or a hybrid chip. We at StreamHPC speak of hybrid computing until the time is there we can call them CPUs again.
At 20 October AMD gave a webcast about OpenCL, but a lot of time was to explain their Hybrid technology (CPU + GPU combined), named Fusion, would be the future. The problem is that they had promised to launch such a product in 2009 already. Their first Fusion-product will not have a high-end GPU, but more something comparable to Intel’s current GPU products. I do notice more confidence in the past months in their communication (having i.e. Fusion, OpenCL, physics) and I expect they will start rocking before the end of 2011.
Intel’s upcoming hybrid product-line “Sandy Bridge” will contain products with an integrated high-end GPU and a vector-extension, named Advanced Vector eXtension (AVX). The Larrabee was to be a high-end processor to compete with AMD and NVIDIA, but they failed in the effort. Sandy Bridge with integrated GPU supports DirectX 10, has a modular design and many improvements for lower latency; they did learn a lot from the Larrabee-project. The nice part is that they call the line “Bridge”, which suggests Intel is going towards a complete new architecture. Anandtech has a nice overview of the architecture. Watch them, they are going to be a big player in GPGPU and OpenCL!
They also want the mobile market badly. There is no news on how their future mobile chips will have hybrid architecture.
Also IBM has plans to have more OpenCL-products based on the Cell-architecture, which they developed in co-operation with Toshiba and Sony. This could be considered the first high-end hybrid processing unit on the market and was for that reason the PlayStation3 – containing this Cell-processor – was used for budget super-computing in many projects. After the PS3 got hacked and Sony decided to remove the option for using Linux on the machine, an important OpenCL-device was removed from the market. The POWER-processor in a few of IBM’s blade-servers have full support for OpenCL 1.0, but did not draw much attention to it as the PS3 has done. Beginning of October IBM has announced they will keep developing the Cell-processor for the gaming-market and might integrate the Cell into their POWER-architecture. Since IBM manufactures many of the processors of game consoles, and there is a good chance OpenCL-support will touch ground in the console-world.
With NVIDIA competing with them in the HPC world, embedding Cell-technology in their BlueGene architecture would be a wise choice. Translating CUDA to OpenCL is very doable and could be a part of their sales-pitch when the time comes. They’re on board, now we’ll just have to see where they are heading the ship.
ARM is still the unbeaten ruler in the mobile market. They have licensed their technology to several companies who made their own hybrids with graphics-units. We still don’t know how visible OpenCL will be to developers in the near future, we know support for acceleration will arrive. As the mobile market is growing fast, this is an important market for personal computation needs (like video-playback, recording and conversion). Expect more news in a few months, when the first products will arrive with more visible OpenCL-capabilities.
All above companies have hybrid computing, except NVIDIA. But there have been rumours that they have shown interest in creating it’s own X86-chip and they already have an ARM-based mobile GPU. They might miss the first boat, but knowing NVIDIA’s history in strategic planning, they will for sure be on the second boat at least. On the other hand I wouldn’t be surprised they would position themselves more and more as direct competitors of IBM’s BlueGene and Cray in a more profitable super-computing world.
For sure they need an acquisition or a co-operation to compete on the hybrid computing market. Intel now have their own GPUs, AMD has acquired ATI and ARM doesn’t run Windows. If you love to speculate, tell us what you think what NVIDIA will do with this situation.
Update: NVIDIA says you should not want to move much data from and to the GPU: “We want the parallel computing environment that streams the data to the right place so that the processors can all access that large memory space, and move it around as little as we can. Conceptually that’s what we need to do”.
While this is a short article, it is actually an important one. The hybrid computing market is very promising and will be of major influence in the coming years of computing power. You have seen now that OpenCL is backed by really big companies, and can easily compete with CUDA once the developers-tools get better. As a start AMD will release their own debugging-tools in the coming three months. More about debugging in an upcoming article.
You can now understand what GPGPU has turned these companies into competitors, while they first cooperated and actually still want or need to. You can feel the tension when you read news-items about motherboard-chipset manufactures and other companies who want to be friends with them all. Are they on their own now, or is this just a logic re-shifting of powers and co-operations?
StreamHPC consults to help your company prepare for changes in the market, and still have the current best solution for your computation-problem. We think the best solution is always temporary and should therefore be treated as such. We can architect an optimal plan to build-up of a computation-farm, so you get the best temporary solution each year.