Red Hat-ek Nova aurkeztu zuen, Rust-en idatzitako NVIDIA GPUetarako kontrolatzailea

Red Hatek Nova proiektuan lanean hasi da, NVIDIA GPUetarako kode irekiko kontrolatzaile berri bat garatzen duena. Proiektu honetan, GPUaren hasieratze eta kudeaketa eragiketak firmwarera eramaten dira eta GSP (GPU System Processor) mikrokontrolagailu bereizi batek egiten ditu. Kontrolatzaile berria Linux kernel modulu gisa inplementatzen da eta DRM (Direct Rendering Manager) azpisistema erabiltzen du. Proiektua GSP firmwarea duten GPUetarako Nouveau kontrolatzailearen jarraipen gisa kokatzen da, Turing mikroarkitekturan oinarritutako NVIDIA GeForce RTX 2000 seriearekin hasita erabilia, eta epe luzera Nouveau ordezkatu dezake.

Kontrolatzailearen kodea Rust-en idatzita dago eta, gainera, hainbat geruza erabiltzen ditu hizkuntza honetan bideo-kontrolatzaileak garatzeko, oraindik kernel nagusian hartu ez direnak. Adibidez, kontrolatzaileak abstrakzio multzo bat erabiltzen du rust-device adarreko kontrolatzaileak eraikitzeko, rust-pci adarreko PCI busarekin lan egiteko osagaiak eta rust-drm adarreko DRM eta GEM azpisistemetarako loturak, Apple M1 eta M2 GPU txipetarako drm-asahi Rust kontrolatzailearen garapenean erabiltzen dena. Rust erabiltzeak kontrolatzailearen segurtasuna eta fidagarritasuna hobetzea espero da, memoriarekin lan egitean erroreak izateko probabilitatea murriztuz, eta bideo-kontrolatzaileen garapena Rust-en kontrolatzaileen garapenerako osagai, lotura eta abstrakzio komunak garatzearekin integratzea ere ahalbidetuko du.

Kontrolatzaile berri bat sortzeko motibazioa GSP firmwareak eskaintzen dituen kudeatzaile prest egindako asko aprobetxatuz Nouveau kontrolatzailearekin alderatuta sinplifikazio nabarmena lortzeko aukera da. NVIDIA GPU zaharragoak onartu behar direnez, Nouveau kontrolatzailearen kodea alferrikako konplexua eta malgutasun zurruna da, eta Nouveau kontrolatzailean dauden arazoak konpontzeko, hala nola VMM/MMU kodean blokeoak, kode-basearen berridazketa garrantzitsua eskatzen du.

Nova kontrolatzaile berriak, hutsetik garatua, arazo eta konplikazio horiek hasieratik saihestu ditzake, NVIDIA GPU berrietan firmwareak dagoeneko ematen dituen kontrolatzaileen aldeko abstrakzio asko inplementatzeko beharra ezabatzen baitu. Nouveau-k kodea konbinatzea eskatzen du GPU zaharrak eta berriak onartzeko, eta Nova kontrolatzailean GSP oinarritutako GPU euskarria soilik mantentzeak GPU kode zaharragoekin bateragarritasuna bermatzearen zama ezabatzen du.

Iturria: opennet.ru

Gehitu iruzkin berria