Započelo je promicanje drivera Nova za NVIDIA GPU u Linux kernel

Inženirji podjetja Red Hat so predlagali prvi nabor popravkov za vključitev v jedro Linux, ki vključuje implementacijo gonilnika Nova. Gonilnik je zasnovan za uporabo z GPU NVIDIA, opremljenimi s programsko opremo GSP, ki se uporablja od serije NVIDIA GeForce RTX 2000, temelječe na mikroarhitekturi Turing. V takšnih GPU so operacije inicializacije in upravljanja implementirane v programski opremi in jih izvaja ločen mikrokrmilnik GSP (GPU System Processor). Predvideva se, da bo v dolgoročnem smislu Nova nadomestila gonilnik Nouveau za GPU, ki podpirajo GSP.

Nov gonilnik je napisan v jeziku Rust in, ker infrastruktura za razvoj gonilnikov v Rustu šele trenutno nastaja, se namerava kodo Nova postopoma prenesti v glavno jedro, ko se bodo pojavile potrebne ovire za jezik Rust. V prvem koraku je predlagan gonilnik 'nova-core', ki sestoji iz 232 vrstic kode. Nova-core implementira osnovno raven abstrakcij nad programski vmesniki programske opreme GSP in zagotavlja API, ki ne temelji na različicah programske opreme.

V naslednji fazi nameravajo vključiti DRM-gonilnik nova-drm (Direct Rendering Manager) v jedro za interakcijo z GPU iz uporabniškega prostora, kot tudi VFIO-gonilnik z upravljalnikom vGPU, ki omogoča uporabo virtualnih GPU NVIDIA v sistemih virtualizacije.

Glavni razlog za spodbujanje novega gonilnika Nova je možnost, da se znebimo zapletov, povezanih z gonilnikom Nouveau, in dosežemo pomembno poenostavitev, zahvaljujoč uporabi pripravljenih obdelovalnikov, ki jih zagotavlja programska oprema GSP, in zavrženju breme podpore za stare GPU. Nova bo prav tako omogočila reševanje arhitekturnih težav, ki v Nouveau zahtevajo znatno predelavo kode, na primer težave s zaklepanjem v kodi VMM/MMU. Jezik Rust je bil izbran za zmanjšanje verjetnosti napak pri delu s spominom ter kot možnost združevanja dela na delujočem gonilniku s ustvarjanjem ovir in abstrakcij za razvoj gonilnikov v Rustu.

Predvajaj video

Kar zadeva napredek pri dodajanju funkcionalnosti za razvoj gonilnikov v jedro Linux na jeziku Rust, so v različico 6.14 sprejeti Rust-vezni moduli za PCI, platformo, Open Firmware, simbolne naprave in nekatere funkcije vnosa/izvoda. Greg Kroah-Hartman, ki skrbi za podporo stabilne različice jedra Linux, je v pull-zahtjevi za posodobitev gonilnikov za jedro 6.14 stanje označil kot "skoraj pripravljenost za pisanje pravega gonilnika v Rustu."

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster