The "cores" are becoming more specialized and optimized for domain specific tasks.
Compiler technology advancements are needed to take advantage of such heterogenous architectures in a transparent way.
LLVM MLIR started that already.[1,2]
The alternative is being stuck with each silicon vendor's proprietary solutions like CUDA.