Intel Covets Nvidia’s CUDA Language for Its Amazing GPU Abilities

Intel Covets Nvidia’s CUDA Language for Its Amazing GPU Abilities

Nvidia's CUDA language is one of a kind and all the big tech know it.

Nvidia has something that Intel and AMD covet. No, it's not GPUs. Intel and AMD both make GPUs. However, they don't have Nvidia's not-so-secret weapon that's a close GPU companion: CUDA, the parallel programming language that allows developers to harness GPUs to accelerate general-purpose (non-graphics) algorithms. Since its introduction in 2006, CUDA has become a tremendous and so-far unrivaled competitive advantage for Nvidia because it works with Nvidia GPUs, and only with Nvidia GPUs. Understandably, neither Intel nor AMD plan to let that competitive advantage go unchallenged.

Nvidia's first GPU, the GeForce 256, appeared in 1999. That's the same year that Ian Buck started working on his Ph.D. at Stanford University, where he developed Brook, a series of extensions for the C programming language that allowed software developers to harness programmable graphics hardware, specifically GPUs, to perform general-purpose computations. Buck's Brook extensions transformed GPUs into streaming, highly parallel, vector coprocessors. Nvidia liked what it saw in Brook, hired Buck in 2004, and introduced a more generalized set of parallel programming language extensions called CUDA in 2006.

CUDA now works with various programming languages including C, C++, Fortran, Python, and MATLAB. The CUDA ecosystem has grown over the past 15 years into a significant competitive advantage for Nvidia and its GPUs. AMD's answer to CUDA is ROCm, which closely resembles CUDA with the goal of making AMD Radeon and AMD Instinct GPUs more accessible as highly parallel vector processors that software developers can use to accelerate general-purpose computing workloads. According to the ROCm Information Portal, "AMD ROCm is the first open-source software development platform for HPC/Hyperscale-class GPU computing." In addition, AMD-Xilinx is involved with a related project called SYCL, as you'll see below.

Intel's answer to CUDA is more complex and more nuanced, possibly because Intel makes so many kinds of processors including CPUs, GPUs, FPGAs, and specialized accelerators such as the Gaudi and Gaudi 2 AI processors – which can all be pressed into service as hardware-programmable accelerators for many different workloads.

Intel's solution to a unified programming model for all these processor types is one API. Where Nvidia's CUDA and AMD's ROCm focus on accelerating vector workloads using a GPU's innate vector capabilities, the one API initiative aims to define a unified programming environment, toolset, and library for a computing world that now encompasses all four workload types listed above. The goal is to deliver a unified, open programming experience that reduces, and ultimately eliminates, the complexity of separately managed code bases, programming languages, tools, and workflows. To that end, Intel established as an open community working to bring one API tool to as many architectures as possible, intending to make one API the one true universal multi-architecture programming environment. OneAPI to rule them all. Of course, Intel will offer its own version of one API to support its own silicon.

Disclaimer: Analytics Insight does not provide financial advice or guidance. Also note that the cryptocurrencies mentioned/listed on the website could potentially be scams, i.e. designed to induce you to invest financial resources that may be lost forever and not be recoverable once investments are made. You are responsible for conducting your own research (DYOR) before making any investments. Read more here.

Related Stories

No stories found.
Analytics Insight