Vulkan introduced the _Standard Portable Immediate Representation_ (SPIR-V). You can imagine this as some sort of assembler instructions that will be compiled and optimized to the final GPU instructions from the GPU vendor driver. SPIR-V is through extensions and the latest core version also available in OpenGL and OpenCL. So I think it is a good idea to target SPIR-V.
