But this isn’t the only lesson we should learn from GPUs. There is one fundamental difference between the way DSP companies interact with signal processing software developers and the way GPU companies interact with videogame developers.
The early GPU companies knew they needed to entice videogame developers to support their GPUs, so they did everything they could to hook those developers: 1) they gave away free GPUs to almost any games developer they met, 2) they provided APIs and sample code, and 3) they had developer support, helping videogames developers to write games. But they did not write videogames themselves. They knew that it was those videogame developers that held the key to their success, to the extent that they even encouraged games developers to write games that performed badly on their GPUs. Why? Because they knew that if a game performed badly on their current GPUs, it would run great on their next generation, more-powerful GPUs. They understood that their business model was to get as many games as possible on their GPUs, both now and in the future, knowing that videogames developers are a crucial loss-leader for their real market: games consumers. And they knew that games consumers are always looking for the next-big-thing
NVIDIA learnt from their gaming experience with videogame developers to encourage and support the world’s AI innovators to adopt their processors.
The DSP market is very different. A few big customers buy most of the high-volume DSPs (such as smartphones or mobile base stations), while the rest are sold to low-volume projects for niche markets. This means that the DSP business requires a focus on the high-volume customers and finding ways of avoiding, or outsourcing, support for low-volume niche developers. Software businesses in the DSP world are bad for business. The worst software developers for a DSP vendor are the ones whose software runs too slowly on a DSP, consumes extensive engineering time and ultimately will never buy the DSP that doesn’t hit their performance goals.
What does the AI acceleration market look like? Are AI software developers the key to unlocking big sales for AI accelerators? Or are AI software developers dangerous, who will create software too slow for the AI accelerator and therefore make it impossible to ever sell the AI accelerator? The evidence seems overwhelming that AI is more like videogames in this area too. It’s a huge task to build AI software so software developers need to start working today on current-generation processors. This is where NVIDIA has been so successful: its GPUs are available to consumers and any AI software developer can build AI software on them right now. How many of the highly-hyped AI accelerator processors that claim they can compete with NVIDIA actually have a software development kit (devkit) available to AI software developers today? Try searching for AI processor companies and you will find many results of VCs throwing money at this technology. When you try finding their AI devkits, and you will struggle to find them, the solutions are complex: NVIDIA, AMD GPUs, Intel (including their Movidius Myriad platform) and Google’s own TPU are the only widely-available devkits with supported software. Software developers using those devkits will probably create some software that uses more performance than those devkits provide, but that software will drive the sales of the next-generation of AI processor. Note that this is also the thinking that is driving NVIDIA’s launch of their new Tegra Nano device.
It’s not, however, just about having devkits available, but also about the openness of the solutions that are available. NVIDIA provide most of their tools on their website for free. AMD makes theirs open-source and in many cases Intel does too. Intel and NVIDIA both also provide some paid-for professional development tools for special cases, but those tools also have open ecosystems. These open ecosystems and easy availability of tools don’t just make life very easy for software developers, they also simplify the investment decisions by software developers.
Next: The Early GPU companies knew