Computer

Poor game-to-PC conversions are the fault of… NVIDIA?

One of the biggest problems in PC games is the compilation of shaders, in many games it is something really tedious that can make even the most patient of players despair. However, this does not happen on consoles and everything is due to a problem that is none other than not using a Universal ISA on GPUs. The guilty of it? NVIDIA and the monopoly they have through CUDA.

Shader compilation and the tower of babel problem

The big problem with PC graphics cards is that while an Intel Core and an AMD Ryzen speak the same language and understand the same binaries, an AMD graphics card and an NVIDIA graphics card don’t understand each other. Shader programs that are executed by the GPU that have been written in GLSL, HLSL or any high level shader language need to be compiled for it to understand and this work has to be done by the processor, either during loading screens or in mid-game, causing frame drops, stuttering and sometimes even crashing the game itself.

Nightmare Shaders Compilation

We must understand that each instruction in binary contains two parts, on the one hand, the instruction code and on the other the data to be manipulated. Each set of registers and instructions has its own language. In the same way that a signifier can mean nothing in one language and in another or have different meanings. That is, the problem is that if we talk about pure binaries, a shader compiled for a Radeon is not understood by a GeForce and vice versa.

Therefore, the ideal would be for the GPU to have a universal set of registers and instructions that would allow these to come already compiled from the base for all graphics cards. However, there is one of two companies that has an iron-fisted dominance in certain professional sectors that earn it a lot of money and an absolute monopoly in the market for high-performance computing and artificial intelligence.

CUDA monopoly is what prevents universal ISA on GPUs

NVIDIA has an absolute market share over the high-performance computing markets, that is, especially the scientific and industrial world, which puts a lot of money into their coffers. It has done this by hard-locking the tools to its CUDA libraries and using all its financial might for years to shut out OpenCL, a general-purpose computing API for GPUs that has been ostracized and handed out on a silver platter, said market to the green company.

Jensen Huang

There are alternatives like Intel’s OneAPI, we’ll see how it ends, or AMD’s RocM, but none of them have the market share and power of NVIDIA. What does it have to do with the previous case? Well, if there was a universal ISA, then CUDA programs could be run on any graphics card, including those from AMD, and this is something that Jensen Huang is not interested in at all, since this would be a loss of market share and of power for your company.

RISC-V would be a valid common ground

The totally free and open RISC-V ISA can serve as the basis for the creation of a universal GPU ISA in which different companies could be added and create a totally open market where applications and algorithms do not depend on a single company. brand. However, this is only a possibility on paper, since NVIDIA has no interest in this happening in order to protect its business.

Related Articles

Leave a Reply

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