Given a pipeline key, this cache returns a pipeline abstraction (for graphics or compute).
This function allows us to share code between compute and graphics pipelines compilation.