Le Deep Learning Super Sampling ou DLSS (en français Super Échantillonnage en Apprentissage Profond) est une suite de technologies d’amélioration d’image et d’upscaling en apprentissage profond temps réel développées par Nvidia, disponibles dans plusieurs jeux vidéo. L’objectif de ces technologies est de permettre à la majorité du pipeline graphique de fonctionner à une définition inférieure pour améliorer les performances, puis d’en déduire une image à plus haute définition qui s’approche du même niveau de détail que si l’image avait été rendue à cette définition plus élevée. Cela permet des réglages graphiques ou des fréquences d’images plus élevées pour une définition de sortie donnée, selon les préférences de l’utilisateur[1].
Toutes les générations de DLSS sont disponibles sur toutes les cartes RTX de Nvidia pour les titres pris en charge. Cependant, la fonction Génération d'images n’est prise en charge que sur les GPU de la série 40 ou plus récentes, et la Génération Multi Images n’est disponible que sur les GPU de la série 50[2],[3].
Architecture
A l'exception de la version utilisant les coeurs de shader implémentée dans le jeu Control, DLSS est uniquement disponible sur les séries de cartes vidéo GeForce RTX 20, GeForce RTX 30, GeForce RTX 40, GeForce RTX 50 et Quadro RTX, utilisant des accélérateurs d'IA dédiés appelés Tensor Cores[4]. Les coeurs Tensor sont disponibles à partir de la microarchitecture de GPU Nvidia Volta, qui a été utilisée pour la première fois sur la gamme de produits Tesla V100[5]. Ils sont utilisés pour effectuer des opérations fused multiply-add (FMA) qui sont utilisées intensivement dans les calculs de réseaux de neurones pour effectuer une grande série de multiplications par des poids, suivies par l'addition d'un biais. Les coeurs Tensor peuvent utiliser des données de type FP16, INT8, INT4 et INT1. Chaque coeur peut effectuer 1024 bits d'opérations FMA par cycle d'horloge, et donc 1024 opérations INT1, 256 opérations INT4, 128 opérations INT8 et 64 opérations FP16 par cycle d'horloge et par coeur Tensor, et la plupart des GPU Turing possède quelques centaines de coeurs Tensor[6]. Les coeurs Tensor utilisent les primitives au niveau Warp (en) de CUDA sur 32 threads parallèles pour tirer parti de leur architecture parallèle[7]. Un Warp est un ensemble de 32 threads qui sont configurés pour exécuter la même instruction. Depuis Windows 10 version 1903, Microsoft Windows fournissait DirectML comme un composant de DirectX pour supporter les coeurs Tensor.
Références
- ↑ (en) « Nvidia RTX DLSS: Everything you need to know », Digital Trends, (consulté le ) : « Deep learning super sampling uses artificial intelligence and machine learning to produce an image that looks like a higher-resolution image, without the rendering overhead. Nvidia's algorithm learns from tens of thousands of rendered sequences of images that were created using a supercomputer. That trains the algorithm to be able to produce similarly beautiful images, but without requiring the graphics card to work as hard to do it. »
- ↑ (en-US) « Introducing NVIDIA DLSS 3 », sur NVIDIA (consulté le )
- ↑ (en-US) « NVIDIA DLSS 4 Introduces Multi Frame Generation & Enhancements For All DLSS Technologies », sur NVIDIA (consulté le )
- ↑ (en-US) « NVIDIA DLSS 2.0: A Big Leap In AI Rendering », Nvidia, (consulté le )
- ↑ (en-US) « On Tensors, Tensorflow, And Nvidia's Latest 'Tensor Cores' », tomshardware.com, (consulté le )
- ↑ (en-US) « Tensor Core DL Performance Guide (archivé depuis l'original) » [PDF], sur Nvidia
- ↑ (en-US) « Using CUDA Warp-Level Primitives », Nvidia, (consulté le ) : « NVIDIA GPUs execute groups of threads known as warps in SIMT (Single Instruction, Multiple Thread) fashion. »
