Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Build 2020 : DirectX arrive sur le sous-système Windows pour Linux,
Microsoft apporte les API DxCore, D3D12 et DirectML à Linux lors de l'exécution en WSL

Le , par Bill Fassinou

94PARTAGES

18  0 
Hier, Microsoft a lancé la conférence Build, son événement annuel à destination des développeurs web et logiciel sous Windows. L'entreprise a annoncé que l'accélération matérielle du GPU arrive sous WSL 2. Rappelons que WSL 2 est une nouvelle version de l’architecture qui permet au sous-système Windows pour Linux d’exécuter des fichiers binaires ELF64 Linux sous Windows. Cette nouvelle architecture, qui utilise un véritable noyau Linux, modifie la façon dont ces binaires Linux interagissent avec Windows et le matériel de votre ordinateur, tout en offrant la même expérience utilisateur que dans WSL 1 (la version actuellement disponible en version stable).

WSL 2 offre des performances de système de fichiers beaucoup plus rapides et une compatibilité totale des appels système, ce qui vous permet d'exécuter davantage d'applications comme Docker. Si vous êtes un développeur travaillant sur une charge de travail conteneurisée qui sera déployée dans le cloud à l'intérieur de conteneurs Linux, vous pouvez développer et tester ces charges de travail localement sur votre PC Windows en utilisant les mêmes outils Linux natifs auxquels vous êtes habitué. Ces applications et outils Linux peuvent désormais bénéficier de l'accélération GPU.

Au cours des dernières versions de Windows, Microsoft à développer une technologie de virtualisation de GPU client. Cette technologie est intégrée dans WDDM (Windows Display Driver Model) et tous les pilotes WDDMv2.5 ou version ultérieure prennent en charge nativement la virtualisation GPU. Cette technologie est appelée WDDM GPU Paravirtualization, ou GPU-PV. GPU-PV est désormais une partie fondamentale de Windows et est utilisé dans des scénarios comme Windows Defender Application Guard , Windows Sandbox ou l'émulateur Hololens 2 . Aujourd'hui, cette technologie est limitée aux invités Windows, c'est-à-dire que Windows s'exécute à l'intérieur d'une machine virtuelle ou d'un conteneur.

Pour apporter la prise en charge de l'accélération GPU à WSL 2, WDDMv2.9 étendra la portée de GPU-PV aux invités Linux. Ceci est réalisé grâce à un nouveau pilote de noyau Linux qui exploite le protocole GPU-PV pour exposer un GPU au mode utilisateur Linux. L'abstraction projetée du GPU suit de près le modèle d'abstraction du GPU WDDM, permettant à l'API et aux pilotes basés sur cette abstraction d'être facilement portés pour une utilisation dans un environnement Linux.


Dxgkrnl est un tout nouveau pilote du noyau Linux qui expose le périphérique /dev/dxg au mode utilisateur Linux. /dev/dxg expose un ensemble d'IOCTL qui imite étroitement la couche de service du noyau WDDM D3DKMT natif sous Windows. Dxgkrnl à l'intérieur du noyau Linux se connecte via le bus VM à son homologue sur l'hôte Windows et utilise cette connexion de bus VM pour communiquer avec le GPU physique. Si l'hôte possède plusieurs GPU, tous les GPU sont projetés et disponibles pour l'environnement Linux (en supposant que tous ces GPU exécutent des pilotes WDDMv2.9).

Microsoft explique que « les applications exécutées à l'intérieur de l'environnement Linux ont le même accès au GPU que les applications natives sous Windows. Il n'y a pas de partitionnement des ressources entre Linux et Windows ni limite imposée aux applications Linux. Le partage est complètement dynamique en fonction de qui a besoin de quoi. Il n'y a fondamentalement aucune différence entre deux applications Windows partageant un GPU par rapport à Linux et une application Windows partageant le même GPU. Si une application Linux est seule sur un GPU, elle peut consommer toutes ses ressources ».


La projection d'une abstraction compatible WDDM pour le GPU à l'intérieur de Linux a permis à Microsoft de recompiler et d'apporter ses premières API graphiques à Linux lors de l'exécution en WSL. Il s'agit de DxCore et D3D12 sous Linux. En plus de D3D12 et DxCore, Microsoft a porté son API d'apprentissage machine, DirectML, pour travailler sur Linux lors de l'exécution en WSL. Microsoft explique qu'il a « apporté à Linux les capacités d'inférence d'apprentissage automatique performantes de DirectML et étendu ses fonctionnalités pour prendre en charge les workflows de formation! DirectML se trouve au sommet de notre API D3D12 et fournit une collection d'opérations de calcul et d'optimisations pour les charges de travail d'apprentissage automatique ».

« L'équipe DirectML a pour objectif d'intégrer ces capacités d'inférence et de formation accélérées par le matériel aux outils, bibliothèques et frameworks ML courants. En soutenant les workflows de formation avec DirectML, nous plaçons un focus initial sur les workflows ML des étudiants et des débutants. Nous voulons nous assurer que les étudiants universitaires et les ingénieurs de l'industrie peuvent tirer parti de l'étendue du matériel Windows pour apprendre et acquérir de nouvelles compétences en ML. L'utilisation de DirectML fournit à ces étudiants et débutants un moyen simple de tirer parti de l'accélération matérielle dans leurs systèmes existants, en exploitant leur GPU compatible DirectX 12 à partir de leurs outils ML basés sur Linux exécutés dans WSL 2 ».

Source : Microsoft

Et vous ?

Que pensez-vous des nouveautés apportées à WSL2  ?

Voir aussi

WSL2 sera disponible dans Windows 10 version 2004 prévue pour avril, Microsoft apporte une modification à la façon dont le noyau Linux dans WSL2 est installé et mis à jour

La MàJ WSL dans Windows 10 build 1903 vous donne accès aux fichiers Linux depuis Windows, les outils en ligne de commande sont également améliorés

Premières impressions sur WSL 2 : 13 fois plus rapide que WSL 1, et introduit une nouvelle ère pour le développement Web sous Windows, selon un développeur

Windows 10 Insider Preview Build 18917 apporte WSL 2, l'architecture du sous-système Windows pour Linux qui utilise un véritable noyau Linux

Une erreur dans cette actualité ? Signalez-le nous !