Mantle is less an open specification than CUDA is, CUDA does have a full x86 implementation available which is mostly slower due the CPU not taking too much advantage of the massive parallelism of the GPU (not sure about how this play out with Xeon Phi).
Mantle on the other hand is a very low level Graphics API that basically exposes SW to some low level interactions with AMD's GPU. It's more like GLIDE than OpenCL. From what I've seen so far it's not clear to me Mantle will be very portable across several AMD generations. It works for GCN based cards out now but who knows if it will be fast for GCN++ without a major rewrite of the application. NVIDIA could implement Mantle but would probably have to translate so much stuff in SW to make it work you'd lose the low SW overhead.
From the one or two talks I listened to Mantle seems to basically expose the same interface the driver developers have access to and lets you go to town. This is great for the latest architecture but now it's up to your application to evolve as the HW does. There's a whole lot of work being done to optimize for each architecture release in the driver which allow older games that the publisher doesn't really want to support anymore to work and see performance boosts.