4 ms·
But that's not inherent due to gpus completely revolutionizing their aproach every generation, is it? The main difference is that with cpu, the translation uni
by Xeamek 3y ago
But that's not inherent due to gpus completely revolutionizing their aproach every generation, is it?
The main difference is that with cpu, the translation unit is hidden inside the cpu itself.
With gpus, the translation is moved from the device to the driver.
Old openGL code also will run in card that is newer then code itself.
The only difference is that with the cpus, it's open standard what is the instruction set, while on gpus, instruction sets are defined by third parties (DX12,Vulkan,OpenGL) while it falls to nvidia to implement them.
- dist-epoch 3y agoOpenGL code is actually running on the CPU. From this CPU running code you can send shaders to the driver, in source code form or bytecode form, and the driver does the final compilation to GPU machine code.
- Xeamek 3y agoPedantry. Yes you are running your code on the cpu, but you are using opengl defined api to do so. Having a text generation and parsing, or having a function calls passed to/from drivers- those a simply implementation details
- toasterlovin 3y agoModern CPUs being able to run 30 year old binaries as-is is pretty different than a GPU requiring a driver to compile byte code into machine code at runtime.
- Xeamek 3y agoHow is that different?
- toasterlovin 3y agoYou seem like you're being purposefully obtuse about this, so I'm going to disengage after this. But, generally speaking, a programming language which compiles to machine code which is executed directly by the CPU is widely considered to have a significantly different architecture than one which is compiled to byte code to be executed by a virtual machine. This architectural choice has many downstream ramifications. And the difference in execution model between CPUs and GPUs is similar in nature and comes with similar ramifications. Such as, for example, operating system support for GPUs.
- Xeamek 3y agoBeing obtuse is when you don't accept currently popular bounds of abstractions are God given axioms.