Programming

Prohibited from running CUDA on hardware other than NVidia devices

Prohibited from running CUDA on hardware other than NVidia devices

Acronym for Compute Unified Device Architecture, CUDA it is a technology developed by NVidia that allows its GPUs to be used for general processing purposes, which therefore go well beyond traditional graphics rendering. CUDA opens the door for using NVidia GPUs for management purposes high-performance computing operations.

The technology is in fact often used in application areas such as scientific simulation, data analysis, image processing, 3D graphics and artificial intelligence: these are fields in which the parallel computing can lead to significant performance improvements. GPUs contain hundreds or thousands of processing cores, allowing them to simultaneously handle many tasks at once.

To date, despite Pat Gelsinger’s skepticism, NVidia’s highest-profile cards have served as industry leaders. On the other hand, the combination of CUDA technology with NVidia hardware has proven to be extremely effective, so much so that many programs make extensive use of it.

With the entry of competing GPUs available at more competitive prices, more and more developers are inclined to port their CUDA applications to NVidia’s rival platforms. There are essentially two ways to do this: recompile the code or use a translation layer.

What’s a translation layer and why NVidia doesn’t allow it to be used with CUDA

And translation layer or “translation layer” is a software component that sits between two different systems or components, acting as an intermediary. The objective is to enable communications between originally incompatible entities and promote their interoperability.

NVidia has officially changed the license conditions for the use of CUDA technology, preventing its adoption on platforms and hardware other than its own. Created by Andrzej Janik, an ingenious developer who first “served” in the ranks of Intel and then moved to the AMD team, ZLUDA is actually an open source alternative to CUDA that acts as a translation layer.

The concept is precisely that of exploiting the computing power GPUs from other manufacturers, such as AMD or Intel, to run CUDA applications.

With the intervention on the clauses contained in the licensing terms of the CUDA technology, the company led by Jensen Huang specifically prohibits the use of translation layer to run CUDA applications on non-NVidia hardware. A move that can be interpreted as an attempt to preserve NVidia’s hegemony in the gaming sector.computational acceleration.

The company with its headquarters in Santa Clara (California) is not only angry with ZLUDA but also, at least so it seems, with various Chinese companies – including a company directly financed by the Beijing government – which have blatantly admitted to using code CUDA on non-NVidia GPUs.

The only alternative to the translation layer allowed by NVidia

Recompiling existing CUDA programs, however, obviously remains completely legal. To simplify these tasks, both AMD and Intel provide tools for porting applications developed in CUDA to their platforms ROCm e OpenAPI.

As AMD, Intel, Tenstorrent and other companies develop higher-performance hardware, more and more software developers will be inclined to design for these platforms, and NVidia’s previously undisputed and indisputable leadership may begin to falter.

For this reason, NVidia tries to implement its countermeasures and defend it the status quo. It goes without saying, however, that attempts to close it down and erect a barricade around CUDA could be frowned upon by competition bodies.

The opening image is taken from the official NVidia website.

Leave a Reply

Your email address will not be published. Required fields are marked *