La fonction de gestion de mémoire décidera s'il est préférable d'orienter les données vers le CPU ou vers le GPU. « Par voie de conséquence, les programmeurs auront aussi moins de lignes de code à écrire pour contrôler la destination des données », a déclaré Sumit Gupta, directeur général des produits Tesla Accelerated Computing chez Nvidia. « Le développeur n'a pas à se demander quel processeur - GPU ou CPU - affecter à telle tâche parce que cela ne dépend plus de la programmation, mais des caractéristiques de CUDA », a déclaré Dan Olds, analyste principal chez Gabriel Consulting Group. « Cet ajout à CUDA est une évolution, mais pas une révolution », a ajouté l'analyste. « Par exemple, les GPU sont souvent utilisés dans les serveurs pour la virtualisation de bureau. En automatisant la prise en charge mémoire, on peut accélérer le déploiement des instances OS via les machines virtuelles », a expliqué Dan Olds.
HSA veut également mieux faire travailler CPU et GPU
La fonction de mémoire unifiée de CUDA fait à peu près la même chose que la spécification HUMA de la Fondation HSA (Heterogeneous System Architecture) fondée l'an dernier par Advanced Micro Devices et différents fondeurs dont ARM, Qualcomm et autres, mais dont Nvidia n'est pas membre. La spécification HSA définit une architecture de système hétérogène capable de partager les différents types de mémoire d'un système. Elle permet aux programmeurs d'écrire des applications sans se préoccuper de savoir si le code est pris en charge par telle ou telle ressource mémoire. La spécification s'accorde également avec l'objectif de Nvidia de faire en sorte que CPU et GPU deviennent une ressource partagée au niveau du hardware. Le futur processeur mobile Tegra 6 de Nvidia, nom de code Parker, sera capable de mutualiser la mémoire du CPU et celle du processeur graphique dans les terminaux, les serveurs et les PC, ce qui permettra, entre autres, d'accroître la mémoire adressable disponible pour les applications. Actuellement, GPU et CPU travaillent chacun de leur côté. La fonction de mémoire unifiée de CUDA 6 devrait atténuer les choses au niveau de la couche logicielle jusqu'à ce que la fonction soit implémentée dans de futurs matériels.
Des supercalculateurs parmi les plus rapides du monde utilisent des GPU comme coprocesseurs pour accélérer le processus de traitement. La dernière mise à jour 5.5 de CUDA avait apporté le support pour les processeurs ARM. CUDA 6 a également amélioré les bibliothèques susceptibles d'accélérer les calculs sur les processeurs graphiques.