Over on Netkas site they tested that Metal is supported on GTX 400 series and newer. For DIY flash, GTX 680 is only option I know of. If you are willing to pay for a flashed card or for a flashing service on your card, you have many more options from GTX 570 all the way to Titan X depending on your budget.
CUDA is fairly tricky. More CUDA cores should be better than less CUDA cores, but not always because sometimes cards with more CUDA cores are running them at a lower frequency. Also, newer generations of CUDA cores on consumer cards (GTX 600 series and newer) are purposely gimped compared to previous generations, so a new CUDA core does not necessarily equal an old CUDA core. There was an Anandtech bench that shows the GTX 680 doing worse than the older and lower end GTX 560 Ti for compute performance.
If you are specifically concerned about CUDA performance, I'd ask Tutor. I don't think anyone on this board knows as much as Tutor about price/performance aspects of CUDA cards. In fact I don't think anyone knows 1/10th of what he does about that.
This post, although old, is a pretty good example. There are several CUDA posts in that thread that might be worth your time (if you can find them--the thread is mostly about CPU performance). I would just straight up PM Tutor with your question, budget, and ask for a recommendation.