مایکروسافت شتاب سرور گرافیک و GPU را در WSL پیاده سازی می کند
مایکروسافت اعلام کرد در اجرای قابل توجه بهبودها در زیرسیستم WSL (Windows Subsystem for Linux) که راه اندازی فایل های اجرایی لینوکس را در ویندوز تضمین می کند:
اضافه پشتیبانی از اجرای برنامه های لینوکس با رابط گرافیکی که نیاز به استفاده از سرورهای X سایر شرکت ها را از بین می برد. پشتیبانی از طریق مجازی سازی دسترسی به GPU پیاده سازی می شود.
یک درایور باز برای هسته لینوکس آماده شده است dxgkrnl، که به دستگاه dev/dxg/ خدماتی را ارائه می دهد که WDDM D3DKMT هسته ویندوز را تکرار می کند. درایور با استفاده از گذرگاه VM با GPU فیزیکی ارتباط برقرار می کند. برنامه های لینوکس دارای همان سطح دسترسی GPU به برنامه های بومی ویندوز هستند، بدون نیاز به اشتراک منابع بین ویندوز و لینوکس.
علاوه بر این، کتابخانه libd3d12.so برای لینوکس ارائه شده است که دسترسی مستقیم به API گرافیکی Direct3D 12 را فراهم می کند و از همان کد کتابخانه d3d12.dll ویندوز ساخته شده است. نسخه ساده شده API dxgi نیز در قالب کتابخانه DxCore (libdxcore.so) ارائه شده است. کتابخانههای libd3d12.so و libdxcore.so اختصاصی هستند و فقط در مجموعههای باینری (نصب شده در /usr/lib/wsl/lib) سازگار با Ubuntu، Debian، Fedora، Centos، SUSE و سایر توزیعهای مبتنی بر Glibc عرضه میشوند.
پشتیبانی OpenGL در Mesa از طریق ارائه می شود بین لایه ای، که فراخوانی ها را به DirectX 12 API ترجمه می کند. روش پیاده سازی Vulkan API هنوز در مرحله برنامه ریزی است.
پشتیبانی از محاسبات روی کارتهای ویدیویی اضافه شده است که به شما امکان میدهد از شتاب سختافزاری برای کارهایی مانند یادگیری ماشین و هوش مصنوعی استفاده کنید. در مرحله اول، محیط های WSL از CUDA و پشتیبانی می کنند DirectML، در بالای API D3D12 اجرا می شود (به عنوان مثال، در یک محیط لینوکس می توانید TensorFlow را با یک Backend برای DirectML اجرا کنید). پشتیبانی OpenCL از طریق لایه ای امکان پذیر است که نگاشت تماس ها را با DX12 API انجام می دهد.
نصب WSL به زودی با دستور ساده "wsl.exe --install" پشتیبانی می شود.