Describir: Compiler-Runtime Co-Design for Performance-Portable Gpu Programming on Cpus