Framstegen av Nova-drivrutinen för NVIDIA GPU till Linux-kÀrnan har inletts

Ingenjörer frÄn Red Hat har föreslagit att inkludera den första uppsÀttningen patchar med implementeringen av Nova-drivrutinen i Linux-kÀrnan. Drivrutinen Àr avsedd för anvÀndning med NVIDIA GPU:er som har GSP-firmware, som anvÀnds frÄn och med NVIDIA GeForce RTX 2000-serien baserad pÄ Turing-mikroarkitekturen. I sÄdana GPU:er genomförs initierings- och styrningsoperationer i firmwaren och utförs av en separat GSP-mikrokontroller (GPU System Processor). Det förvÀntas att Nova pÄ lÄng sikt kommer att ersÀtta Nouveau-drivrutinen för GPU:er med GSP-stöd.

Den nya drivrutinen Àr skriven i Rust, och eftersom infrastrukturen för att utveckla Rust-drivrutiner fortfarande utvecklas, Àr avsikten att gradvis föra över Nova-koden till kÀrnan i takt med att nödvÀndiga bindningar för Rust-sprÄket blir tillgÀngliga. I det första steget föreslÄs drivrutinen "nova-core" för inkludering i kÀrnan, som bestÄr av 232 rader kod. Nova-core implementerar en grundlÀggande abstractionsnivÄ över programgrÀnssnitten för GSP-firmwaren och erbjuder ett API som Àr oberoende av firmware-versioner.

I nÀsta steg planerar man att inkludera DRM-drivrutinen nova-drm (Direct Rendering Manager) i kÀrnan för kommunikation med GPU:er frÄn anvÀndarrummet, samt en VFIO-drivrutin med en vGPU-hanterare som gör det möjligt att anvÀnda virtuella NVIDIA GPU:er i virtualiseringssystem.

Den frÀmsta anledningen till att frÀmja den nya Nova-drivrutinen Àr möjligheten att bli av med de komplikationer som Àr förknippade med Nouveau-drivrutinen och Ästadkomma en betydande förenkling, tack vare anvÀndningen av fÀrdiga hanterare som tillhandahÄlls av GSP-firmwaren och avlastning av stödet för Àldre GPU:er. Nova kommer ocksÄ att lösa arkitekturproblem som i Nouveau krÀver betydande omarbetningar av kodbasen, till exempel lÄsningsproblem i VMM/MMU-koden. Rust-sprÄket valdes för att minska sannolikheten för minnesfel och som en möjlighet att kombinera arbete pÄ en fungerande drivrutin med skapandet av bindningar och abstraktioner för drivrutinsutveckling i Rust.

Spela video

NÀr det gÀller framstegen i att lÀgga till möjligheter för utveckling av drivrutiner i Linux-kÀrnan med Rust-sprÄket har Rust-bindningar för PCI, plattformar, Open Firmware, teckensymboliska enheter och vissa in- och utdata-funktioner antagits i version 6.14. Greg Kroah-Hartman, som ansvarar för att stödja den stabila versionen av Linux-kÀrnan, beskrev i en pull-begÀran med uppdateringar av drivrutiner för kÀrnan 6.14 det aktuella tillstÄndet som "nÀstan redo för att skriva en riktig drivrutin i Rust."

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster