3 ms·
Why? The point of a shader language is to define a function that outputs some graphics. Why should that not be portable between GPUs/CPUs of different vendors?
by hobofan 2mo ago
Why? The point of a shader language is to define a function that outputs some graphics. Why should that not be portable between GPUs/CPUs of different vendors?
- shmerl 2mo agoMore generally any GPU computation, not necessarily graphics. The above argument could go that there is no point in high level languages for CPUs either and everyone should just always use assembly, which is obviously false. Same can go for GPUs.
- anon291 2mo agoI mean if you're worried about high performance compute on cpus, then the argument also applies. That's why there so much hand written assembler with dynamic dispatch on CPU features... It's just that gpus have no general purpose usage .. for ai, it's basically all about perf. Of course some cross platform stuff can be made for modest acceleration, but the state of the art is always going to be out of reach.
- shmerl 2mo agoNah, I don't buy it. There is room for assembly usage, yes, but the claim that it's the only way to do things is clearly false and compilers from high level languages in most cases are enough.
- anon291 2mo agoBecause of how different the memory hierarchies and pipelines are and because if you're doing perf work, this is important enough to matter. For cpus and general purpose programs, it's not. For hpc, it is