I disagree on Cuda changing constantly. The hardware is stable once sold and new devices are usually backwards compatible by at least a version or two. The API is also locked down for already deployed versions, can't go pulling the rug from paying customers. However, new versions of both hardware and Cuda do introduce new things that'll need addressed. I don't think it's much of a moving target though.