Non tu confonds : chez NV, les compute capabilities correspondentaux fonctionnalités supportées par la puce. Il y ensuite la version de CUDA (7 il me semble actuellement) qui correspond à la version de l'API supportée. En théorie, rien ne t'empêche de faire du CUDA 7 sur une carte en Compute Capability 1.1, c'est juste que certaines fonctionnalités apparues entre temps ne fonctionneront pas ou alors très lentement.
Pour faire plus simple, la version de CUDA ou d'OpenCL, c'est du logiciel, régis par les drivers. Les compute capabilities, c'est du matériel, c'est ce que le GPU peut faire. C'est pour ça qu'au bout d'un moment, des GPU qui ont des compute capabiltiies trop faibles ne peuvent plus supporter les nouvelles version des API car ils n'ont pas les instructions nécessaires câblées en dur pour le faire.
DirectCompute ça n'a rien à voir, c'est du Microsoft, et personne n'utilise ça en GPGPU ... je sais même pas ce qu'on peut faire avec.
D'ailleurs dans mon exemple, tu vois que la version de CUDA n'est pas égale à la compute capability :
11-Apr-2015 14:26:38 [---] CUDA: NVIDIA GPU 0: GeForce GTX 980M (driver version 347.52, CUDA version 7.0, compute capability 5.2, 4096MB, 3809MB available, 3461 GFLOPS peak)
11-Apr-2015 14:26:38 [---] OpenCL: NVIDIA GPU 0: GeForce GTX 980M (driver version 347.52, device version OpenCL 1.1 CUDA, 4096MB, 3809MB available, 3461 GFLOPS peak)
1
Rien à voir, mais voici OpenCL 1.2 sur NV :
15-Apr-2015 01:22:02 [---] CUDA: NVIDIA GPU 0: GeForce GTX 980M (driver version 350.12, CUDA version 7.0, compute capability 5.2, 4096MB, 3848MB available, 3461 GFLOPS peak)
15-Apr-2015 01:22:02 [---] OpenCL: NVIDIA GPU 0: GeForce GTX 980M (driver version 350.12, device version OpenCL 1.2 CUDA, 4096MB, 3848MB available, 3461 GFLOPS peak)