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?
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.