아침에 인나서 클량봤더니 문 재밌는 게 두 개나 올라왔네요
마이크로소프트 WSL 2 소개 요약 - https://www.clien.net/service/board/news/14982002CLIEN
WSL2 · 리눅스용 DirectX 발표 - https://www.clien.net/service/board/news/14982108CLIEN
리눅스 업스트림 패치: https://lkml.org/lkml/2020/5/19/742
마소 블로그 포스트: https://lkml.org/lkml/2020/5/19/742
좀 더 보니깐 마소가 완전 미친짓을 하는 모양이더라고요 ㄷㄷ
우선 소켓을 통해서 X11을 돌리는 방식이 아닌, 아에 wayland 서버를 만들고 있는 모양입니다. 아래 스샷이 wayland 서버 통해서 돌아가는 스샷입니다.
원래 전 wayland 는 X11에 비해 호환성 때문에 굉장히 회의적이었는데, 마소가 이렇게 나오면 좀 생각이 달라지네요.
잘못된 형식의 이미지 링크입니다.
WSL2용 DirectX도 만든 모양인데, 이게 그냥 DirectX 가 아니라 기본적으로 GPU paravirtualization 이네요. 근데 이걸로 mesa 드라이버 구현을 해서 OpenGL, OpenCL, 불칸 지원을...
잘못된 형식의 이미지 링크입니다.
심지어 엔당 쿠다까지...거기다가 nvidia-docker도 지원할거라네요.
잘못된 형식의 이미지 링크입니다.
이게 보니깐 원래부터 이런 혼종스러운 작업을 Collabora와 하고 있었네요: https://www.collabora.com/news-and-blog/news-and-events/introducing-opencl-and-opengl-on-directx.html
전 애초에 Hyper-V기반이라서 그냥 업스트림 커널 쓰는 되는 일을 굳이 WSL2에서는 4.19 버전 기반의 커널을 쓰고 있길래 의아해 했는데, 이런 그림이 있었네요.
이러다 나중에 마소가 리눅스용 GUI 툴킷, 데스크톱 환경까지 만들기세네요.
Typescript, VS Code, GitHub, NPM ...
https://lwn.net/Articles/788277/
이런 패치가 있었네요. GPU resource provisioning은 잘되나요? 혹시 경험 있으세요?
제가 얼핏 듣기로는 코어 하나씩 할당하는 방식으로 들었는데요, 혹시 요즘에는 잘되고 있는지 궁금합니다.
우선 해당패치는 drm, 즉 그래픽 구현 한정에, 암드 이야기 같네요. (뭐 메인라인 패치에서 엔당을 기대하긴 힘들죠...)
엔당은 nvidia-docker 라고 자기네가 수정한 도커를 배포하는데요, docker run 커맨드에 지피유 할당 갯수를 정할 수 있습니다. 꽤 오래전부터 잘됬고요, 엔당에서는 이걸 머신러닝에서 주요 셀링포인트중 하나로 잘써먹고 있습니다 ㅎ GPGPU 는 확실히 잘 될틴데, nvidia-docker로 그래픽 구현이 되는지는 모르겠네요.
저도 님께서 말씀하신 부분에 대한 진척은 잘 모르겠습니다, 근데 다른 포럼들 반응보면 아직 멀은듯 합니다.
그 부분에서 저 윈도10의 wsl2 gpu 가상화가 흥미롭긴 합니다. Paravirtualization으로 같은 GPU자원을 동적으로 할당하는 녀석이니, 님께서 궁금하신 부분을 제대로 구현한 녀석 같네요.