3 ms·
At some point in the future GPUs have to decide if they are computing devices or graphics devices. Right now they are trying to be both. If you purposely desig
by sprash 7y ago
At some point in the future GPUs have to decide if they are computing devices or graphics devices. Right now they are trying to be both.
If you purposely design graphics devices you can make many simplifications and optimizations because you can abstract all tasks as drawing primitives. That will make serialization very easy.
- saltcured 7y agoI think they have already decided, and they are computing devices, with various graphics techniques captured as userspace code. It is a bit of a fiction that graphics consists of just "drawing primitives" like triangles anymore. Those simplistic applications are supported by compatibility libraries to abstract the real computational system. The core of the GPU is really computational data transforms on arrays of data. But there is a whole spectrum to these computational methods rather than just a few discrete modes. This is where application-specific code is now supplied to define the small bits of work as well as to redefine the entire pipeline, e.g. of a multi-pass renderer. The differences between "transforms and lighting", "texturing and shading", "z-buffering and blending", or even "ray-casting and ray-tracing" are really more in the intent of the application programmer than in actual hardware. The core hardware features are really to support different data types/precisions, SIMD vs MIMD parallelism, fused operations for common computational idioms, and some and memory systems to balance the hardware for certain presumed workloads.