| Uuugh, graphics. So many smart people expending great energy to look busy while doing nothing particularly profound. Graphics people, here is what you need to do. 1) Figure out a machine abstraction. 2) Figure out an abstraction for how these machines communicate with each other and the cpu on a shared memory bus. 3) Write a binary spec for code for this abstract machine. 4) Compilers target this abstract machine. 5) Programs submit code to driver for AoT compilation, and cache results. 6) Driver has some linker and dynamic module loading/unloading capability. 7) Signal the driver to start that code. AMD64, ARM, and RISC-V are all basically differing binary specs for a C-machine+MMU+MMIO compute abstraction. Figure out your machine abstraction and let us normies write code that’s accelerated without having to throw the baby out with the bathwater ever few years. Oh yes, give us timing information so we can adapt workload as necessary to achieve soft real-time scheduling on hardware with differing performance. |